{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Tutorial 1d - Material Database Tutorial\n",
    "\n",
    "This tutorial demonstrates how to use the material database in Optiland to compute optical properties, including refractive index and extinction coefficient versus wavelength. In Optiland, materials are properties of surfaces and are used to determine optical behavior at their interfaces. Optiland's material database is built on top of the [refractiveindex.info database](https://refractiveindex.info/).\n",
    "\n",
    "We will demonstrate how to generate three material types:\n",
    "\n",
    "1. `IdealMaterial`: Fixed refractive index and extinction coefficient.\n",
    "2. `AbbeMaterial`: Ideal glass parameterized by refractive index at the Fraunhofer d-line (587.56 nm) and the Abbe number. Valid only over the visible spectrum.\n",
    "3. `Material`: Generic material that provides interface to the [refractiveindex.info database](https://refractiveindex.info/).\n",
    "\n",
    "\n",
    "We will show how to compute the refractive index for various materials, from glasses and chemicals to organic materials and gases."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "tags": [
     "nbsphinx-toctree"
    ]
   },
   "source": [
    "### January 2025"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "\n",
    "from optiland.materials import AbbeMaterial, IdealMaterial, Material"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 1. Ideal Material\n",
    "\n",
    "The `IdealMaterial` class represents a material with a fixed refractive index and extinction coefficient. This is useful for simulations that require simple, constant parameters."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Refractive Index at 0.48 µm: [1.5]\n",
      "Extinction Coefficient at 0.48 µm: [0.]\n",
      "\n",
      "Refractive Index at 0.55 µm: [1.5]\n",
      "Extinction Coefficient at 0.55 µm: [0.]\n",
      "\n",
      "Refractive Index at 0.65 µm: [1.5]\n",
      "Extinction Coefficient at 0.65 µm: [0.]\n",
      "\n"
     ]
    }
   ],
   "source": [
    "ideal_material = IdealMaterial(n=1.5, k=0)\n",
    "\n",
    "wavelengths = [0.48, 0.55, 0.65]\n",
    "\n",
    "for wavelength in wavelengths:\n",
    "    print(f\"Refractive Index at {wavelength} µm: {ideal_material.n(wavelength)}\")\n",
    "    print(\n",
    "        f\"Extinction Coefficient at {wavelength} µm: {ideal_material.k(wavelength)}\",\n",
    "        end=\"\\n\\n\",\n",
    "    )"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 2. Abbe Material\n",
    "\n",
    "The `AbbeMaterial` class generates a model optical glass material in the visible spectrum. The material is defined by the refractive index at the Fraunhofer d-line (587.56 nm) and the Abbe number. The refractive index is based on a polynomial fit to glass data from the Schott catalog. The extinction coefficient is ignored in this model and is always set to zero, although this can be overwritten."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlEAAAHHCAYAAACfqw0dAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvc2/+5QAAAAlwSFlzAAAPYQAAD2EBqD+naQAAcW9JREFUeJzt3Ql4jFfbB/B/9khkESQEse8k9n3fl9qrlKKKtkrV0s3bqp0WRd/WVmptLaV2itrX2mPfhRC7iIRIIsl81318M282zMQks/1/1/XIzDPPnDlz5om5c859zmOn0Wg0ICIiIiKD2Bt2OBEREREJBlFERERE6cAgioiIiCgdGEQRERERpQODKCIiIqJ0YBBFRERElA4MooiIiIjSgUEUERERUTowiCIiIiJKBwZRRCZ06dIlNGnSBF5eXrCzs8Pq1athDurVq6c2azBixAjVtmS+ChQogPfffx/mTuqYNWtWU1eDzAiDKCI9zJ8/X30RazdHR0fkyZNH/acaFhaW7nJ79OiBU6dOYezYsVi0aBEqVaqEzHL27FkVYFy7dg3mQgK3MmXKmLoaFumTTz6Bvb09wsPDk+2X+7LfxcUFMTExyR67evWqOp//85//ZHJtzVd0dLT6vdi5c6epq0IWgEEUkQFGjRqlgp2ZM2eiefPm+P3331G3bt1UX076ePbsGQ4cOIBevXqhf//+eO+995A3b15kZhA1cuTINIOoLVu2qI0sR61atSCXQt23b1+y/fv371dB1PPnz3HkyJFkj2mPlefS/4Io+b1gEEX6YBBFZAAJnCTY6d27N+bMmYPPP/8cV65cwdq1aw0u6/79++qnt7f3a499+vQpMpOzs7PayHJoA6G9e/emCpQCAwNRvHjxVI/JfQmwatSokal1JbIWDKKI3kDt2rXVTwmkkjp//jzefvtt+Pj4wNXVVQ3TJQ20ZLggf/786vYXX3yhhlQkL0T7mNyXnqIuXbogW7Zsui/IkydPqiHEQoUKqXJz5cqFDz74AA8fPkxVNxlmlF4uf39/NZRTsGBB9O3bF3FxcWp4smPHjuq4+vXr64YptX99J82Junv3rhq+lL/OU7pw4YJ63i+//KLbFxERgYEDByJfvnzqdYsUKYIffvgBiYmJ6WpjKV966iRfTIb6pMzSpUtj06ZNqY6VoKBy5cqqbQoXLoxZs2a9tFzpRaxYsSKyZMmiPqfOnTvjxo0busfnzZunXnvu3LnJnjdu3Di1f+PGjS8t+6233lKfUVqqV6+ebNj2n3/+UZ+vBNOSbyPBTnqG1wICAlSbp+yJkvs1a9ZUgVJaj0lbymvLefHdd9+pNpEcPXd3d3V+79ixQ3e89GZJW/Xs2TPV60dGRqp2lz8stGJjYzF8+HB1DsjnJvX78ssv1f7X0ec8kl5U+SwmTZqEX3/9VX3mcqycA4cPH05V5vLly1GqVClVTzmXVq1apX6ftL97Ul7OnDnVbTnftb8X8juZ8nerbdu26vOS4+U9JyQkvPY9kRXSENFrzZs3TyO/LocPH062/5dfflH7Z8yYodt3+vRpjZeXl6ZUqVKaH374QR1Tp04djZ2dnWblypXqmBMnTmimTJminvvuu+9qFi1apFm1apV6bPjw4Wq/PL9Nmzaa6dOna6ZNm6YemzRpkqZ27dqaUaNGaX799VfNZ599psmSJYumSpUqmsTERF0dwsLCNP7+/ho3NzfNwIEDNTNnztQMGzZMU7JkSc2jR480V65c0QwYMEC9zn/+8x/1+rLduXNHPb9u3bpq02rQoIGqT0ojR47UODg46J739OlTTWBgoCZ79uyqXHnd7t27q/cudX0dec3SpUsn2yd1DAoK0uTOnVszevRozdSpUzWFChVS7+3Bgwe6406ePKnaIiAgQDN+/Hh1rJ+fn6pPyv/qxowZo+rUqVMn1b7yPnLkyKEpUKCAah+tt956S32WoaGhutdwdnbW9OrV65XvY+HCheo1Dx06lGz/tWvX1P6JEyfqzhUpr1KlSpqffvpJtdfnn3+uzpf0kHPJxcVFExMTo+7HxsZqXF1dNYsXL9bMmTNH4+PjoztPwsPDVRv07dtX3b9//75q48GDB6vzecKECZrixYtrnJycNMePH9e9xgcffKDx9vZWZSe1YMGCZL8jCQkJmiZNmujOwVmzZmn69++vcXR0VOd1Uvnz59f06NFDd1/f8ygkJES9Zvny5TVFihRRv29Sb/ks8+bNq4mLi9Mdu379evV8KXfy5Mnq9yFbtmyaMmXKqNcXT548Ue9dymzXrp3u90J+X4XUUdpTzlFpBzm2Q4cO6ng5j8j2MIgiMiCI2rp1q/qyuXHjhmbFihWanDlzqi8tua/VsGFDTdmyZXVfZEK+uGrUqKEpWrRoqi8A7ReqljaIki/ElKKjo1PtW7JkiTp+9+7dun3yhWNvb58q6NPWRSxfvlw9b8eOHamOSRlEyRegHHvq1Klkx0lgJQGWlgQu7u7umosXLyY77uuvv1bBljYYMTSIkkDj8uXLun3ypSb7f/75Z92+tm3bqi+469ev6/adPXtWvW7SIEoCGdk3duzYZK8j702+4JPuv337tgo8GjdurIIG+bKWIO3x48evfB/yuJwXQ4YMSbZfvuDli1xbR20gLeeUMUiwLeXt2bNH3T9w4IC6L68nbSG3z5w5owsq5P4ff/yh7sfHx6cKjCSglEBUAgatzZs3q+etW7cu2bEtWrRQwa2WBB9yDmrroiUBkTx/3759Lw2i9D2PtL9DEmxJUKi1Zs2aVHWU30kJrKKionT7du7cqY7TBlFCPgvZJ7+HKUkd5TH5IyYpOS8qVqyY6niyfhzOIzJAo0aNVPe9DDHIcJ0MecgwnTYhXGZCbd++He+88w6ioqLw4MEDtclwW9OmTdWSBvrO5vv4449T7ZOhJy1JZpeyq1Wrpu4fO3ZM/ZThDhn6atWqVZqz/dIz3b99+/ZqSG/ZsmW6fadPn1ZDjp06dUo2XCJDQDIEqX3vskm7yXDH7t27kR7yfBmq0ZIcH09PTzW7TEjZmzdvVkMsMqylVbJkSdXuSa1cuVK1kXxGSesoQ6NFixZNNnwl+6ZNm6aG3OR9BQcHq+E9ee1Xkcclf+7PP/9Uyd5a0n7yeWnrqM2HW7NmTbqHO1+VFyXDdTKLVF6vRIkSaihOO6SXMqncwcFBlwcndZFzOT4+Xp1D2nNLNGjQADly5Eh2Ljx69Ei1UcpzQdpfXjdpO8vzRdJ2TsnQ80heV45NOcyuPT9u3bqlZsF279492RIFMimkbNmyBrdzyt9NeT3ta5FtYRBFZADtF+qKFSvQokUL9R+75GBoXb58WX1pDhs2TAVbSTfJDRH37t3T67Ukhykl+WL77LPP4OfnpwIqKVd73OPHj3UJ65KfYsylAuRLs2HDhioo0JIvUQmsJMDSkiBRcpVSvnf58jPkvaeUNDDSki9N+fLWvmeZ7ShBUEqSY5SU1FE+Izk2ZT3PnTuXqo6SK9WyZUscOnQIffr0Ue2gD/lilxwrmYGpzZs7evRoskBDbku+kkxUkM9UXkvaOL0BlXzmEpglDZSkfG3wLPlYSR+TPwaStu2CBQtUgCo5Q9mzZ1dtsmHDBt25JeQz79Chgwr8tLlNEphKvlTS9ybtfObMmVRtXKxYsdeeC4aeRynPD21ApT0/rl+/rn5KXlVKae17FWkbbd5U0tfTvhbZFkdTV4DIklSpUkXXuyO9HvJXvCR/S4K1/IWr/fKTRNOUPSCG/qedtNdJS3pPZMq6JKOXK1dO95rNmjUzSk/Gq8gXvCQUS2+MvLZ82UtAIQGWltShcePGKnk4LdovUENJL0lakvby6EvqKAHF33//nWa5KRdTlF5E7dIA0vMmz5cZba8jPYFubm6qnSSpW37K87QJ/drPWHpVpFdGghUJHCQ4ld4aWWLiZe/7ZaR8CZTkHNEud5A0SV3qIT1pkkQuiddyDidNtJcka9kn55evr696/fHjx6eaOCHngiTtSxvK8fLepMcpKChId4y0k/TyTJ48Oc26SgD3MoaeR8Y8P17H0M+ErBuDKKJ00n7ByOw2mZ329ddf62ZkOTk56f5qNhb5S3fbtm1q1pDMokr6V3tS8leyDCfJcNurGDqsJ1+WH330kW4Y5+LFixg6dGiyY2TI7cmTJ0Z/768j71kCkpRtISTATVlH+XKVHjx9grp+/fqpoVn5rOX9Tp06FYMHD37t82SoV2bpydCUBBLSbjLsI7MlUwY+EozKJsfJ7L9vvvlGBVbpaUcJ7CW4kWFm6bHR9kRpgygpW2YWSs9d0vWhpHdVzl/pVUp6bmh7UJOqU6cOcufOrd6TlCFD2FJuynY+ceKEel+GnmvGPo+0M2GlpzillPu4uj0ZgsN5RG9AlgGQ3in5YpUcJfnrXfbJX+m3b99+6dpQb/IXcMq/ruW1U34pS8Czbt26VIsrJn2+fMlrp5LrQ4aJpHdNeh2WLl2q8meS9mRoe8pk+Eryk1KS15Ecm4wgbSN1k1yw0NBQ3X4ZnktZFxl+lOMlGE3ZlnI/6XIRElhIoPD999+rIFl6YL799lsVQOpDhrckH0fWFJOAIulwl0i5uriQXj6RdBkAWTIj6ft6FW1gJMsBSE+Ytjwh56oMx02YMCHZsS87vw4ePKgbjkx5jklOoJxjsvisfK4p35ucC5L/N3v27FTPlwDuVWufGfs8ksBVhjoXLlyogjOtXbt2qVyppKTNtK9D9DrsiSJ6QzL0IUM0svaSJJxK3pR8OclQhuTQyF/3staSfCncvHlTfZmmh/QuSQ+AfAFK/okkDMuQT0hISKpjpTdDHpPE2Q8//FAl+EpQJ70iknQsAZF8ucoXp3zZSs6L5HbJMJIEgi8jX5Sy2Oj06dNV0JJyoVBpC+kBkR4YGRqSNYfky1K+qCQgkXV4kg7/GZMERTIcJr09cgkU+aL9+eef1TpIsr5W0l6OMWPGqF4lqY8Egh4eHqodZd0gaS8ZjpVeHFlXS3oaZZ0qIT2O0kMk7027UOWrSN6clC3lSVtLLlHKFfBlOE9yrqS3RF5T2lYmKiQNcOTzk89Sn1W0JVCSAFfONwnoJWhKGiDIkJs8Jp9d0rw5+cykF6pdu3aqPtIesjK/rKuUNPBIei5I+0pPlZzrUsekunXrpgJu+Z2QNpMeMUkKl4BQ9kuA9LLLHGXEeSS/E23atFH1kGFp6dmVz1PaIOn7kx5Nec8SPEtPpSTjyzG8HBGlydTTA4kseZ0o7Xo4hQsXVptMExeyDpMsM5ArVy61zk6ePHnUmkOyLIK+SxykNe395s2bav0aWadH1i/q2LGj5tatW2lOyZZp7VIH7TIMMv28X79+yaaxz549W+3XLgOgXe4g5RIHWpGRkWotJjn2999/T7OtZAr50KFD1bo9sjSBrNkjyzvIGldJ1+0xZIkDqXdKKafFi127dqmp5vK68r5kOr22PVP666+/NLVq1VJT6WUrUaKEep0LFy6ox9u3b6/x8PBQSyIkpZ0+L2sS6aNr167q+EaNGqV6bNu2bWrNJFnTS+osP2Vpi5RT++X5aX0eL1O9enXdGmApadcHa968eaqlL8aNG6faVc4XmbYvyyBIGyddAiDp8fny5VNlybpbaZHPW9pJPlMpU9Zlks9H1uVKukxEWp+lPufRy36HtG2W8ndi6dKl6nOWusj6UGvXrlXrPMm+pPbv3687j5KWI3WUcyWll51jZP3s5J+0wysiIiLrJj2yklMns26JDMWcKCIisnoyBJ4yl0qGR2V4XXuJIyJDsSeKiIisnuRRyWw/yemTRHPJzZKcL7lOoMxklXWxiAzFxHIiIrJ6siCmJKjLTEmZJSuzUyWBXmZeMoCi9GJPFBEREVE6MCeKiIiIKB0YRBERERGlA3OiMpBc/0lWK5bF9ngpASIiIssgmU5yuSeZhPCqRXUZRGUgCaBedZFNIiIiMl83btxQVxB4GQZRGUh6oLQfglyyw5g9XHLJApltos/V5G0Z28owbC/9sa30x7bSH9vKPNoqMjJSdYJov8dfhkFUBtIO4UkAZewgShaNkzL5S/ZqbCvDsL30x7bSH9tKf2wr82qr16Xi8BMiIiIiSgcGUURERETpwCCKiIiIKB0YRBERERGlA4MoIiIionRgEEVERESUDgyiiIiIiNKBQRQRERFROjCIIiIiIkoHBlFERERE6cAgioiIiCgdGEQRERERpQODKAsU+zwBB68/NnU1iIiIbJqjqStAhnkc/RztZ+zDtYfRWJsrO0rn8TZ1lYiIiGwSe6IsjJebE4r6ZkVCogZfrzyN+IREU1eJiIjIJjGIskAjWpVCVhcHnAp7jPn7r5m6OkRERDaJQZQF8vV0xcC6Aer2pC0XEPow2tRVIiIisjkMoixUm7I5Ua2gD2KeJ+Kb1aeg0WhMXSUiIiKbwiDKQtnZ2WFsuzJwcbTHnksPsPJYmKmrREREZFMYRFmwgjncMbBRMXV79IazePAk1tRVIiIishkMoixc79oFUSq3JyKin2PkurOmrg4REZHNYBBl4Zwc7PFDh0DY2wHrTtzCtnN3TV0lIiIim8AgygqUzeuF3rULqdvfrj6NJ7Hxpq4SERGR1WMQZSUGNSqGAB833H4cg4mbzpu6OkRERFaPQZSVyOLsgPHty6rbC/+9jqPXw01dJSIiIqvGIMqK1CySAx0r5oUsGfXVX6cQG59g6ioRERFZLQZRVuabliWRI6szLt97guk7rpi6OkRERFaLQZSV8XZzxojWpdXt6Tsv4/ydSFNXiYiIyCoxiLJCLcvmRqOSfnieoMEXy08iPiHR1FUiIiKyOgyirPSSMOPalYGnqyNOhT3GrN1XTV0lIiIiq8Mgykr5erpieKsXw3o/bb2Ei3ejTF0lIiIiq8Igyoq1r5AHDUr4Ii4hEV+s4LAeERGRMTGIsvphvbLwcHXEiRsRmLM3xNRVIiIishoMoqxcLi9XDHurlLo9+Z+LaukDIiIienMMomyALMBZp1hOxMXLsN4JJCRqTF0lIiIii8cgykaG9b5vXxZZXRxxPDQC8/ZxWI+IiOhNMYiyEf7eWdRq5mLi5gu4ep/DekRERBYbRO3evRutWrWCv7+/6i1ZvXr1K4/fuXOnOi7ldufOHb3LfP78Ob766iuULVsW7u7u6rju3bvj1q1byY4rUKBAqtf5/vvvYck6V86HWkVyIDY+EV+uOMlhPSIiIksNop4+fYqgoCBMmzbNoOdduHABt2/f1m2+vr56lxkdHY1jx45h2LBh6ufKlStVea1bt0517KhRo5K9zqeffgpLpgLBDmXh7uyAI9cfYcH+a6auEhERkcVyNOWLN2/eXG2GkqDJ29s7XWV6eXnhn3/+Sbbvl19+QZUqVRAaGoqAgADdfg8PD+TKlQvWJG82NwxtURLfrj6NCZvPq3WkCuRwN3W1iIiILI5Jg6j0KleuHGJjY1GmTBmMGDECNWvWfKPyHj9+rHppUgZmMnw3evRoFVh16dIFgwYNgqPjy5tM6iSbVmTki4v/JiYmqs1YpCyNRpPuMjtXyosNJ2/hwNVwfLniBBb3rgp7eztYozdtK1vD9tIf20p/bCv9sa3Mo630LdOigqjcuXNj5syZqFSpkgpW5syZg3r16uHgwYOoUKFCusqMiYlROVLvvvsuPD09dfsHDBigyvTx8cH+/fsxdOhQNaQ3efLkl5Y1fvx4jBw5MtX+R48eIT4+Hsb8cKOiotTJY2+fvhHZrxvkQ+cbETh07RGmbT2LrpVywxoZo61sCdtLf2wr/bGt9Me2Mo+2knL1YaeRVzcD0hO0atUqtG3b1qDn1a1bV/UULVq0yOAyJcm8Q4cOuHnzpkpaTxpEpTR37lx89NFHePLkCVxcXPTuicqXL58Kol5VdnpOHCkzW7Zsb3TiLD4Yim/XnIGzoz3W9auBon4esDbGaitbwfbSH9tKf2wr/bGtzKOt5PtbypWRqld9f1tUT1RaJJdp7969Bj9PAqh33nkH169fx/bt218b5FStWlX1Jl27dg3FixdP8xgJrtIKsOTDNfYHLAHim5bbtVp+/HPuHnZdvI/PV5zCyk9qwMnB+n5pjdFWtoTtpT+2lf7YVvpjW5m+rfQtz+I/oeDgYDXMl54A6tKlS9i6dSuyZ8+u1+tIoyadCWgNJ98PHQLh6eqIU2GPMW3HZVNXiYiIyGKYtCdKhsYuX/7fF3dISIgKViQPSYboJA8pLCwMCxcuVI9PnToVBQsWROnSpVUuk+RESS/Sli1b9C5TAqi3335bLW+wfv16JCQk6NaZkmOcnZ1x4MABlWdVv359NUNP7ktS+Xvvvae696zt2nqj25bBZ0uD8cv2y2hYwg9l83qZulpERERmz6RB1JEjR1SgojV48GD1s0ePHpg/f75K5JZlB7Ti4uIwZMgQFVi5ubkhMDBQ9SQlLeN1Zcpz165dq5vll9SOHTtUoroMyS1dulTN/JMcJwncJIjSlmVtWgf5Y8uZu9hw6jYG/xmMdZ/WgquTg6mrRUREZNbMJrHcGklimqxL9brEtPQk04WHh6ueM2ONA4c/jUOTKbvx4Eks+tQuiG9aloI1yIi2smZsL/2xrfTHttIf28o82krf729+QqT4uDvjhw5l1e05e0Nw8OpDU1eJiIjIrDGIIp2GJf3wTqW8kL7JIctP4Ems8da2IiIisjYMoiiZYW+VQh7vLLj56BnGbjhr6uoQERGZLQZRlIyHqxMmdgxUt5ccuoEd5++ZukpERERmiUEUpVKjcA70rFlA3f7qr5OIiI4zdZWIiIjMDoMoStNXzUqgcE533IuKxTerT6trExEREdH/MIiiNMk6UZPfKQcHeztsOHkbq46HmbpKREREZoVBFL1UUD5vfNawqLr93ZozuBEebeoqERERmQ0GUfRKn9QrjIr5s6nlDgYtC0Z8QqKpq0RERGQWGETRKzk62GNqp3LI6uKII9cfYcbOK6auEhERkVlgEEWvlc/HDSNbl1a3p267hOAbEaauEhERkckxiCK9tK+QBy0DcyMhUYOBS4/jKVczJyIiG8cgivRiZ2eHcW3LIreXK649jMbo9VzNnIiIbBuDKNKbl5sTfnwnCHZ2wNLDN7Dp9B1TV4mIiMhkGESRwauZf1i7kLo9dOVJ3I2MMXWViIiITIJBFBlscJNiKJXbE4+in+Pz5SeQmMjVzImIyPYwiCKDuTg64L/vloOLoz32XHqA+fuvmbpKREREmY5BFKVLEV8PfNOypLr9/abzOH8n0tRVIiIiylQMoijdulXLj/rFcyIuPhEDlhxHzPMEU1eJiIgo0zCIojda9mDC20HIkdUFF+8+wSgue0BERDaEQRS9kZweLpjSKUjdXnwwFH+fum3qKhEREWUKBlH0xmoXzYmP6xZWt7/66yRuPoo2dZWIiIgyHIMoMoohTYqhXD5vRMbE47OlwYhPSDR1lYiIiDIUgygyCicHe/z8bnl4uDji6PVHmLr1kqmrRERElKEYRJHR5PNxw7j2ZdXtaTsvY//lB6auEhERUYZhEEVG1SrIH50r54NGAwxcFoyHT2JNXSUiIqIMwSCKjG54q9Io4psV96JieVkYIiKyWgyiyOiyODvgly7l4exojx0X7mPuvhBTV4mIiMjoGERRhiiRyxPD/v+yMD9sOo9TNx+bukpERERGxSCKMsx71fKjaWk/PE/Q4NMlx/AkNt7UVSIiIjIaBlGUoZeF+aFDIPy9XHHtYTS+WXUKGsk4JyIisgIMoihDebs54+cu5eFgb4c1wbew+FCoqatERERkFAyiKMNVzO+Dr5oVV7dHrjuL02HMjyIiIsvHIIoyRZ/ahdCopC/i4hPRb/ExRMY8N3WViIiI3giDKMq0/KhJHYOQxzsLrj+Mxtd/nWR+FBERWTQGUZSp+VHTulaAk4MdNp66gwX7r5m6SkREROnGIIoyVbl83vhPixfrR43deA4nbkSYukpERESWF0Tt3r0brVq1gr+/vxruWb169SuP37lzpzou5Xbnzh2DypRhpO+++w65c+dGlixZ0KhRI1y6dCnZMeHh4ejatSs8PT3h7e2NXr164cmTJ0Z897br/RoF0LxMLrV+1Cd/HMPjaOZHERGR5TFpEPX06VMEBQVh2rRpBj3vwoULuH37tm7z9fU1qMwJEybgv//9L2bOnImDBw/C3d0dTZs2RUxMjO4YCaDOnDmDf/75B+vXr1fB2YcffpjOd0qp1o96OxABPm4Ii3iGIctPMD+KiIgsjqMpX7x58+ZqM5QETdI7lJ4y5ct66tSp+Pbbb9GmTRu1b+HChfDz81O9Vp07d8a5c+ewadMmHD58GJUqVVLH/Pzzz2jRogUmTZqkernozXi6OmF61wpoP30/tp67izl7QtCnTiFTV4uIiMgygqj0KleuHGJjY1GmTBmMGDECNWvW1Pu5ISEhavhPhvC0vLy8ULVqVRw4cEAFUfJTgjRtACXkeHt7e9Vz1a5duzTLljrJphUZGal+JiYmqs1YpCwJBo1ZpimUyu2BYW+VxLA1Z9T19crl80LF/NmM+hrW0laZhe2lP7aV/thW+mNbmUdb6VumRQVRksMkQ3AS3EiwMmfOHNSrV08FNhUqVNCrDG3+lPQ8JSX3tY/Jz6RDhMLR0RE+Pj7J8q9SGj9+PEaOHJlq/6NHjxAfb7zrxsmHGxUVpU4eCewsWbMi7thbIjs2n3+I/ouP4Y9uZeDt5mS08q2prTID20t/bCv9sa30x7Yyj7aScq0uiCpevLjatGrUqIErV65gypQpWLRoEUxt6NChGDx4cLKeqHz58iFbtmwqQd2YJ47kFUm51vBLNrGTFy5N24+rD55i+JbrmP9+ZXWZGGOwtrbKaGwv/bGt9Me20h/byjzaSjpO9DoOFq5KlSrYu3ev3sfnypVL/bx7967q2dKS+zJMqD3m3r17yZ4nPUkyY0/7/LS4uLioLSX5cI39AcuJkxHlmoJnFmfM7FYRbX7Zh32XH2Lqtkv4omkJo5VvTW2VGdhe+mNb6Y9tpT+2lenbSt/yLP4TCg4OThYMvU7BggVVILRt27ZkPUYyJFi9enV1X35GRETg6NGjumO2b9+uol7JnSLjK+bnoWbsiWk7rmDLmZcPmxIREZkDk/ZEybpLly9fTpb0LUGR5B4FBASo4bGwsDA1e07IrDoJgkqXLq2WI5CcKAlutmzZoneZErUOHDgQY8aMQdGiRVV5w4YNUzPu2rZtq55TsmRJNGvWDH369FE5WM+fP0f//v1V0jln5mWc1kH+CA6NwNx9IRjy5wms6Z8VhXJmNXW1iIiIzC+IOnLkCOrXr6+7r80n6tGjB+bPn6/WgAoNDdU9HhcXhyFDhqjAys3NDYGBgdi6dWuyMl5Xpvjyyy/VelKy7pP0ONWqVUstaeDq6qp73h9//KECp4YNG6puvQ4dOqi1pShjDW1RAqfDHuPQtXB8/PtRrO5XE27OFj/qTEREVshOw1UOM4wME8ryCY8fPzZ6YrnkZ0nvmjWOmd+LisFb/92Le1Gxqnfqp87lVA9ielh7Wxkb20t/bCv9sa30x7Yyj7bS9/ubnxCZHV8PV3WhYkd7O6w9cQvz9vFCxUREZH4YRJFZqlzAB9+0fHGh4nEbz+FQSLipq0RERJQMgygy6wsVtynnj/hEDfotPoZ7kf+7tiEREZGpMYgisyV5UOPbl0VxPw/cj4pVgdTzBF4KgYiIzAODKDJrMjNPFuL0cHHE4WuPMHbDOVNXiYiISGEQRWavYA53/PhOkLo9f/81rDx209RVIiIiYhBFlqFJ6Vz4tEERdfvrladw4kaEqatEREQ2jkEUWYxBjYqhUUlfxMUn4qNFR9V6UkRERKbCIIoshr29HaZ0KofCOd1xJzIGfX8/htj4BFNXi4iIbBSDKLIoHq5OmN29EjxcHXH0+iOMWHsGXHSfiIhMgUEUWRy5KPHP75aHXAlmyaEb+P3g/66vSERElFkYRJFFqlfcF182LaFuj1x7BgevPjR1lYiIyMYwiCKL9XHdQmgV9GJF80/+OIawiGemrhIREdkQBlFk0SuaT+gQiNL+nnj4NA4fLjyCZ3FMNCcioszBIIosWhZnB8zqVhE+7s44cysSX/11konmRESUKRhEkcXLm80N07tWgKO9HdaeuIVZu6+aukpERGQDGESRVahWKDu+a1VK3f5h03lsO3fX1FUiIiIrxyCKrEa3avnRpWoAZDRvwJLjOHc70tRVIiIiK8Ygiqwq0Xxk69KoUTg7nsYloPeCI7gfFWvqahERkZViEEVWxcnBXuVHFczhrpY86PuHXBom0dTVIiIiK8QgiqyOt5szfutRCZ6ujjgWGoExm69yxh4RERkdgyiy2kvDzHivIhzs7fD3uYeYvosz9oiIyLgYRJHVqlkkB0b8/4y9H7dcxN+nbpu6SkREZEUYRJFV61o1AJ0r+Knbg/4Mxqmbj01dJSIishIMosjqDayXH3WL5UDM80T0XngYdyNjTF0lIiKyAgyiyOrJSuY/dS6Hor5ZcTcyVi19wGvsERHRm2IQRTbB09UJv/WojGxuTjgV9hiD/wxGYiJn7BERUfoxiCKbEZDdDbO6VYKTgx3+Pn0H3286b+oqERGRBWMQRTalSkEfTHw7SN3+dfdVLDpwzdRVIiIiC8UgimxO2/J58HmTYur28LVnsP08L1ZMRESGYxBFNqlf/SJ4p1JeSFpU/8XHcTqMSx8QEVEGB1Hnz788j2Tz5s2GFkdksosVj21XFrWL5kB0XAJ6zj+srrVHRESUYUFUhQoVMG3atGT7YmNj0b9/f7Rp08bQ4ohMerHiaV0roEQuD9yPikXPeYcQGfPc1NUiIiJrDaLmz5+P7777Di1atMDdu3cRHByM8uXLY+vWrdizZ0/G1JIoA5c+mPt+Zfh6uODi3Sfo+/tRxMUnmrpaRERkjUHUO++8gxMnTuD58+coXbo0qlevjrp16+LYsWOoXLlyxtSSKAP5e2dRgZS7swP2XX6Ib1adgkbDNaSIiCiDEsvj4uKQkJCgtty5c8PV1TW9RRGZXJk8XvilawU42Nth+dGb+Hn7ZVNXiYiIrC2IWrp0KcqWLQsvLy9cvHgRGzZswK+//oratWvj6tWrGVNLokxQv7gvRrUprW5P/uciVh67aeoqERGRNQVRvXr1wrhx47B27VrkzJkTjRs3xqlTp5AnTx6UK1fOoLJ2796NVq1awd/fX82WWr169SuP37lzpzou5Xbnzp1kx0nie4ECBVTvWNWqVXHo0CHdY9euXUuzDNmWL1+uOy6txyWAJOvWtWp+fFS3kLr95YqT2HXxvqmrRERE1hJESe5T3759k+3Lli0b/vzzz1Sz9l7n6dOnCAoKMvh5Fy5cwO3bt3Wbr6+v7rFly5Zh8ODBGD58uKqrlN+0aVPcu3dPPZ4vX75kz5Vt5MiRyJo1K5o3b57sdebNm5fsuLZt2xpUT7JMXzUtgbbl/BGfqFGJ5iduRJi6SkREZIYcDX1C8eLFER8fr3qFrly5gi5dusDDwwO3bt1Cu3btDCpLgpaUgYs+JGjy9vZO87HJkyejT58+6Nmzp7o/c+ZMNeQ4d+5cfP3113BwcECuXLmSPWfVqlUqYV4CqaTkNVIeS9bP3t4OE94OwsOncdhz6QE+mH8YK/rWQMEc7qauGhERWXIQdf36dTRr1gyhoaFqfSgZzpMg6ocfflD3JWjJaDJsKK9VpkwZjBgxAjVr1tQlux89ehRDhw7VHWtvb49GjRrhwIEDaZYlx8syDWn1hvXr1w+9e/dGoUKF8PHHH6vATIb1XkbqJJtWZGSk+pmYmKg2Y5GyZPaYMcu0VultK0d7YFqX8ugy+yBO34pE998OYsXH1ZHTwwXWjOeW/thW+mNb6Y9tZR5tpW+ZBgdRn332GSpVqqSWOciePbtuv/RCSQ9QRpJZgBKkyetLsDJnzhzUq1cPBw8eVIuAPnjwQM0W9PPzS/Y8uf+yldZ/++03lCxZEjVq1Ei2f9SoUWjQoAHc3NywZcsWfPLJJ3jy5AkGDBjw0vqNHz9eDQ2m9OjRI9V7Z8wPNyoqSp08EiRSxrXVj22KoNeSM7jx6Bm6//YvZnUqiawuBv/aWAyeW/pjW+mPbaU/tpV5tJWUqw+Dvw1kQc39+/fD2dk52X5J5A4LC0NGkqFE2bQk8JEhxSlTpmDRokUGl/fs2TMsXrwYw4YNS/VY0n2ymKjkb02cOPGVQZT0gEk+VtKeKMnBkpwxT09PGPPEkR4xKZe/ZBnbVj4+wKJeWfH2zH9x4V40/rPxGub2qARn6aqyQjy39Me20h/bSn9sK/NoK0dHx4wJoqTS0tuT0s2bN9WwXmarUqUK9u7dq27nyJFD5TzJSupJyf20cptWrFiB6OhodO/e/bWvI7P8Ro8erXrAXFzSHtKR/Wk9Jh+usT9gOXEyolxr9KZtVTCnB+b3rIJOvx7A/isP8eVfpzC1UzmVO2WNeG7pj22lP7aV/thWpm8rfcsz+FWbNGmCqVOnJnsDMswls+HkUjCZTfKZZJhPSO9YxYoVsW3btmRBn9yXldXTGspr3bq1WqpBn9eRaPdlARRZt7J5vTDzvYpwtLfD2hO3MGbDOa5qTkRk4wzuifrxxx/VkgGlSpVCTEyMmp136dIl1Qu0ZMkSg8qS4Ovy5f+tDB0SEqKCFR8fHwQEBKjhMRkiXLhwoXpcgreCBQuqy83Ia0tO1Pbt21XOkpYMp/Xo0UPlTUkvlTxHhuK0s/W05HVlnaqNGzemqte6detU71W1atXUWlP//POPWhvr888/N7S5yIrUKZYTkzoGYeCyYMzdF4JcXi74sE5hU1eLiIgsJYjKmzevSiqXhSdPnjypAiFZgLNr167IkiWLQWUdOXIE9evX193X5hNJECQXOpa1mWQWoJbMvhsyZIgKrCThOzAwUF34OGkZnTp1wv3799VFkmURTpnJt2nTplTJ5rLkgbwX6VlLycnJSc3WGzRokOptKFKkiG7pBLJtbcvnwf2oWIzdeA7jNp5HdncXdKiY19TVIiIiE7DTcEwiw0hiuVwe5/Hjx0ZPLA8PD1c9dhwzN01bjVl/FnP2hqhr7c3oWgFNSlvHemI8t/THttIf20p/bCvzaCt9v7/16omSS7zoS3KMiKzdf1qURMSz51hx9Cb6Lz6O+T0ro0aRHKauFhERZSK9gqiUlzuRZPKUHVjaRSjTmrlHZG1kZt737csiKuY5Np+5i94Lj2Bxn2ooly/tlfSJiMj66NX/pV1xWzZJ4pY8o7///hsRERFqk9uy2KXkHhHZCkcHe/zUuTxqFsmO6LgEvD/vEC7e1W+BNiIisnwGDyIOHDgQP/30k5qhJ+OEssltSbx+1UKURNbI1ckBv3arpHqgIqKfo9tvB3EjPNrU1SIiInMMomSF8LQu/isJWNeuXTNWvYgshruLo8qJKuaXFXcjY9F1zkHci4wxdbWIiMjcgqjKlSurpQiSrgout7/44gu1LhORLfJ2c8aiXlUR4OOG0PBodPvtECKi40xdLSIiMqcgStZXkvWbZDFMWT9JNrktazfJCuBEtsrP0xW/96oKXw8XXLgbhffnHcbTWONdeJqIiCx8sU0JmmSRTVnF+/z582pfyZIl0ahRI90MPSJbFZDdTfVIvTPrAIJvROCjRUfx2/uV4OLoYOqqERGRqYMoIcGSrPSd1mrfRLaueC65YHFllRu19/ID9PvjOGa8VwFODlw4j4gIth5EyQV9Zbt3755a9iDlcB+RrSsfkA1zulfC+/MPY+u5uxi4NBg/dS6nlkUgIiLrYPD/6CNHjlQ9UBJEPXjwAI8ePUq2EdELsoL5rG4V4eRghw2nbuOLFSeRkMirLBER2WxP1MyZM9XFgbt165YxNSKyIvWL++KXLhXwyR/HsOp4GFwc7TGuXVm14jkREdlYT1RcXBxq1KiRMbUhskJNS+fC1E7lIHHT0sM3MGLdmVSXTSIiIhsIonr37o3FixdnTG2IrFSrIH9M6hgEmcC68MB1jNt4joEUEZGtDefFxMTg119/xdatWxEYGAgnJ6dkj8vlX4gotfYV8iI2PhFDV57C7D0h6pIxQ5oUN3W1iIgos4IoWSNKLkAsTp8+newxrhNF9GrvVglA7PMEjFh3Fj9vv6xypPo3KGrqahERUWYEUTt27EjP6xDR/3u/ZkHVIzX+7/OYtOWiWoizT51Cpq4WEREZiIvWEJnAR3ULY3DjYur22I3nMHdviKmrREREGdUT1b59e72OW7lypaF1ILJJnzYogrj4RPyy4zJGrT8LSTPvVaugqatFRETGDqK8vLz0PZSI9CA5hEOaFFMz9iQ/arQEUhoNetfm0B4RkVUFUfPmzcvYmhDZaCAlw3oyJeO/2y9jzIZzaj8DKSIi88ecKCIzCKQGNS6GAQ2KqPsSSM3efdXU1SIiotdgEEVkToFUw6K6ZHMGUkRE5o1BFJGZDe19liSQ+nX3FVNXi4iIXoJBFJGZGZQkkBq38Txm7WIgRURkjhhEEZlpIDWw0YtAShblnMlAiojIOoKoRYsWoWbNmvD398f169fVvqlTp2LNmjXGrh+RzRrY6H+B1Pd/n8d/t13iRYuJiCw5iJoxYwYGDx6MFi1aICIiAgkJCWq/t7e3CqSIyLiB1OdNXqxsPvmfi5iw+QIDKSIiSw2ifv75Z8yePRvffPMNHBwcdPsrVaqEU6dOGbt+RDZPLlD8bcuS6vaMnVcwct2LRTmJiMjCgqiQkBCUL18+1X4XFxc8ffrUWPUioiRk8c0xbcuo2/P3X8N/Vp1CQiIDKSIiiwqiChYsiODg4FT7N23ahJIlX/y1TETG9161/JjUMQj2dsCSQzfw+fITiE9INHW1iIhslt6XfdGSfKh+/fohJiZGDSkcOnQIS5Yswfjx4zFnzpyMqSURKW9XzAsXR3sMWhaMVcfDEPM8AT91Lg9nR060JSIy+yCqd+/eyJIlC7799ltER0ejS5cuapbeTz/9hM6dO2dMLYlIp1WQvwqk+i8+jr9P30Hs70cxvWsFuDr9L0eRiIgyXrr+fO3atSsuXbqEJ0+e4M6dO7h58yZ69epl/NoRUZqalM6F2T0qqWBq+/l76L3gCKLj4k1dLSIim2JwEDVmzBiVXC7c3Nzg6+ubEfUioteoWywn5vesAjdnB+y9/ADdfzuEx8+em7paREQ2w+Agavny5ShSpAhq1KiB6dOn48GDBxlTMyJ6reqFs2NRr6rwcHXEkeuP0PnXf3E/KtbU1SIisgkGB1EnTpzAyZMnUa9ePUyaNEnlQ7Vs2RKLFy9WOVJElLkq5s+GZR9WR46sLjh3OxIdZ+7HjXD+LhIRmWVOVOnSpTFu3DhcvXoVO3bsQIECBTBw4EDkypXLoHJ2796NVq1aqUBMrmC/evXqVx6/c+dOdVzKTfKykpo2bZqqk6urK6pWrapmECYlAWDKMj7++ONkx4SGhqrgUDtk+cUXXyA+njknZJ5K+XtixcfVkTdbFlx7GI23Z+7HxbtRpq4WEZFVe+N50e7u7mq2nrOzM54/NywfQxbnDAoKUkGPIS5cuIDbt2/rtqR5WcuWLVPLMAwfPhzHjh1T5Tdt2hT37t1LVkafPn2SlTFhwgTdY3IpGwmg4uLisH//fixYsADz58/Hd999Z1A9iTJTgRzu+KtvDRTzy4q7kbF4Z9YBHA99ZOpqERFZrXQFUZJYPnbsWNUjJZd7OX78OEaOHJmqR+h1mjdvrhLV27VrZ9DzJGiSXi/tZm//v7cxefJkFSD17NkTpUqVwsyZM1Vv0ty5c5OVIfuSluHp6al7bMuWLTh79ix+//13lCtXTtVz9OjRKtiTwIrIXPl5uuLPj6qjfIA3IqKfo+ucg9hz6b6pq0VEZJUMXieqWrVqOHz4MAIDA1Wg8u677yJPnjzITBLYxMbGokyZMhgxYgRq1qyp9kuAc/ToUQwdOlR3rARYjRo1woEDB5KV8ccff6ggSQIoGVIcNmyYCqyEHFu2bFn4+fnpjpferL59++LMmTNpXvZGSJ1k04qMjFQ/ExMT1WYsUpYsdGrMMq2VLbaVp6sjFn1QGX3/OI49lx7gg/mHMeWdILQom/u1z7XF9kovtpX+2Fb6Y1uZR1vpW6bBQVTDhg1Vr4708mS23Llzq54l6f2SYEVWSJf8poMHD6JChQpqpqAMxSUNfoTcP3/+vO6+LBCaP39+lYslSfJfffWVGiJcuXKlelx61NIqQ/vYy8iq7dIjl9KjR4+Mmk8lH25UVJQ6eZL2wlFqttxWP7QsiO82JmLrxXAMWBqMOw8fo23gq5ckseX2MhTbSn9sK/2xrcyjraTcDAmiZBjPVIoXL642LVlm4cqVK5gyZQoWLVqkdzkffvih7rb0OElwJsGhlFW4cOF01096wCQfK2lPVL58+ZAtW7Zkw4XGOHEkGV7K5S/Zq9l6W83onh3frTmDJYdvYMyWEMTaOeHjOoVUm6TF1tvLEGwr/bGt9Me2Mo+2cnTULzzS6ygJDCQnSJLIkwYJaZGcpMxUpUoV7N27V93OkSMHHBwccPfu3WTHyP1XzRyUGXzi8uXLKoiSY1PO6NOW+apyXFxc1JaSfLjG/oDlxMmIcq2RLbeVvOVx7csim7szpu+8gombL+JeZCy+a1UaDnIl4zTYcnsZim2lP7aV/thWpm8rfcvTK4iSxHHtzDu5bU6Cg4NVT5KQGYIVK1bEtm3b0LZtW12kKvf79+//yjKEtpzq1aurHjeZ0aed+ffPP/+o3iRTDGMSvel/Ml82K6HWkRq94SwWHLiOe1GxmNKpHK+3R0T0BvQKomQtqLRuvym59p70/iSd9ScBjY+PDwICAtTwWFhYGBYuXKgenzp1KgoWLKhmBcbExKicqO3bt6vZdFrSU9ajRw+VNyW9VPIcWUpBkuCFDNnJwqAtWrRA9uzZVU7UoEGDUKdOHZUsL5o0aaKCpW7duqmlDyQPSi643K9fvzR7mogswQe1CsLX0wWDl51QFy5++OQQZnevBC83J1NXjYjIIhnc//XBBx+kmXAlgYo8ZogjR46omW7a2W4SAMlt7XpMsn6TLHqpJbPvhgwZovKY6tatq1ZP37p1q8pn0urUqZNaSV3KkFl8EpRt2rRJlxguvVXyHAmUSpQoocrr0KED1q1bpytDhgTXr1+vfkqv1HvvvYfu3btj1KhRhjYXkVl5K9AfC3tVUZeJOXQtXC3KGRbxzNTVIiKySHYaSWs3gAQWKRe4FDIzTvKFuKo3kiWWe3l54fHjx0ZPLA8PD1c9dhwzfzW2Vdou3IlCj7mHcCcyBrk8XTH/g8ookcuT7WUAtpX+2Fb6Y1uZR1vp+/1tb0iBUpjEXNITJfe1m0zh37hxY6rAiojMU/FcHlj5SQ0U9c2qAqmOMw7gwJWHpq4WEZFF0XuJA29vb9115ooVK5bqcdmf1hpJRGSe/L2zYMXHNdBn4RE1tCc9U5M6BqJGXub9EREZNYiShHLphWrQoAH++usv1X2mJXlG2sUrichySFK55EgNWhasks1lUc6BdQPwaZNspq4aEZH1BFGSyK2dQScz5162WB8RWRZZ5uCXLhUwev1ZzN9/DVN3heLeMw1GtSkDRwfmZBARvYzB/0PKkgIrVqxItX/58uVYsGCBocURkRmQhTeHtyqFb1uWgPx5tPjQDfRacARRMS/WhyMiIiMEUXJ9OFkZPCVJKh83bpyhxRGRmZDe5Q9qFsTEtkWRxckBuy7eR8eZB3CLSyAQERkniJJ1m2TBy5QkJyrpmk5EZJnqFfHBkj5VkdPDBefvRKHttH04dfOxqatFRGT5QZT0OMkq3ynJwpeyAjgRWb7AvF5Y9UkNFPfzUJeIeWfWAfxzNvk1KYmIbJ3BQdS7776LAQMGqNl6CQkJapM8qc8++wydO3fOmFoSUabLm80Ny/tWR+2iOfDseQI+XHQEc/eGqFm6RESUjiBq9OjRqFq1qrrUSpYsWdQml1CRpQ+YE0VkXTxdnTD3/cp4t0oAJHYatf4shq89g/iERFNXjYjIcpY4SLom1LJly1QwJUN4EkTJtewkJ4qIrI+Tgz3GtSuDgjncMG7jeSw8cB0hD56qZRG8svDixURkuwwOorRk1fK0Vi4nIuucufdhncII8HHDoGUnsOfSA7Sbvg9zuldCoZxZTV09IiLLCaJu3ryJtWvXqtl4cXFxyR6bPHmysepGRGamWZncKlfqw4VHcPX+UzVzb1rXCqhdNKepq0ZEZP5B1LZt29C6dWsUKlQI58+fR5kyZXDt2jWVbFqhQoWMqSURmY0yebywun9NfLToKI6HRuD9eYfx3Vul0L16fl7JgIhsisGJ5UOHDsXnn3+OU6dOwdXVVV1H78aNG+qyMB07dsyYWhKRWfH1cMWSPtXQvkIeJCRqVLL5f1adRlw8E86JyHYYHESdO3cO3bt3V7cdHR3x7NkzZM2aFaNGjcIPP/yQEXUkIjO95t6PHYPwnxYlIB1QSw6FottvBxH+NPkQPxGRtTI4iHJ3d9flQeXOnRtXrlzRPfbgwQPj1o6ILCLhXBLMs7o44mBIONpM24uLd6NMXTUiIvMLoqpVq4a9e/eq2y1atMCQIUMwduxYfPDBB+oxIrI9DUv6YeUnNdTsvRvhz9Bu2j5sPnPH1NUiIjKvIEpm38lim2LkyJFq0U1ZN6pAgQL47bffMqKORGQBivl5YE2/mqhWyAdP4xJU4vmPWy4gMZErnBORdTJodp5c4kWWNwgMDNQN7c2cOTOj6kZEFiabuzMW9aqK8RvPY+6+EPy8/TJOhz3G1M7luTAnEdl2T5SDg4O6xMujR48yrkZEZPErnH/XqhSmdAqCi6M9dly4jza/7MWFO8yTIiIbH86TdaGuXr2aMbUhIqvRrnxe/NW3BvJ4Z8G1h9FqhfONp26bulpERKYLosaMGaPWiVq/fj1u376NyMjIZBsRUdKFOdd9Wgs1i2RHdFwCPvnjGH7YdF6tLUVEZHMrlsuMPCGrliddnVhWLJf7kjdFRKTl4+6MBT2rYMLmC/h191XM2HlF5Un9/G55eLs5m7p6RESZF0Tt2LEj/a9GRDbJ0cEe/2lRUvVMfbnixQWMW/2yFzO6VlT7iIisNohq37495s+fD09PT1y/fh2dOnWCi4tLxteOiKxK6yB/FPXNqpY/CA2PRvsZ+zGiVWm8WyUfr7tHRNaZEyX5T0+fPlW3e/bsicePH2d0vYjISpXM7Yl1/WuhUUlfda29/6w6hSF/nkB0XLypq0ZEZPyeqBIlSqgLD9evX1/lPv3555+qVyot2uvqERG9jJebE37tVgm/7rmKCZvOY+XxMJy5FYnp71VA4ZxZTV09IiK92GkkKnqN/fv3Y/Dgweo6eeHh4fDw8Eiz6132yeP0gsxW9PLyUj13Lws60yMxMVG1s4+PD+ztDZ5gaVPYVubfXv9efYj+i4/jwZNYuDs7YMLbQWgZmBvmjueW/thW+mNbmUdb6fv9rder1qhRA//++y/u37+veqIuXryoFtxMuTGAIiJDVSuUHRsH1ELVgi8uF9Nv8TGMXHdGDfUREZkzg0O3kJAQ5MyZM2NqQ0Q2ydfTFX/0roq+9Qqr+/P2XUOnXw/gVsQzU1eNiMh4QVT+/Pmxd+9evPfee6hevTrCwsLU/kWLFqn9RETpXQbhq2YlMKd7JXi6OuJ4aARa/ncPtp27a+qqEREZJ4j666+/0LRpU2TJkgXHjx9HbGys2i/jhuPGjTO0OCKiZBqV8sOGAbVRNo8XHkU/R68FRzBq3VkO7xGRdVz2ZebMmZg9ezacnP53VfaaNWvi2LFjxq4fEdmgfD5uWNG3Oj6oWVDdn7svBB1m7Mf1hy+WWiEissgg6sKFC6hTp06q/ZLFHhERYax6EZGNc3F0wHetSqnhPW83J5wKe4yW/92LtSdumbpqRETpC6Jy5cqFy5cvp9ov+VCFChUytDgiotcO720cUBuVC2TDk9h4DFhyHF//dRLP4nidTiKysCCqT58++Oyzz3Dw4EG1LtStW7fwxx9/4PPPP0ffvn0zppZEZNP8vbNgSZ9q+LRBEcgSdUsP30CbaXtx8W6UqatGRDbM4CDq66+/RpcuXdCwYUM8efJEDe317t0bH330ET799FODytq9ezdatWoFf39/FZCtXr36lcfv3LlTHZdyu3PnTrLjpk2bhgIFCsDV1RVVq1bFoUOHdI/JWlZSz+LFi6vk+ICAAAwYMCDVpWzSep2lS5ca9P6IyLiz94Y0KY4/elVFTg8XXLz7BK1/2YvFB0PV+nVERGYfREkw8c0336hg5PTp07pFOEePHo1nzwxb00WuxxcUFKSCHkPzsm7fvq3bfH19dY8tW7ZMra4+fPhwlegu5ctswnv37qnHpedMtkmTJqn6y4WVN23ahF69eqV6nXnz5iV7nbZt2xpUTyIyvhpFcuDvz2qjTrGciHn+4tp7ckHj8Kdxpq4aEdkYva6dlxZnZ2eUKlVK3ZZlDiZPnowJEyak6hV6lebNm6vNUBI0eXt7p/mY1EOGHOVCyUJmEm7YsAFz585VvWhlypRRyzRoFS5cGGPHjlXrXsXHx8PR8X9NIq8hOWBEZF5yZHXB/PcrY87eq5i4+QK2nL2L4Bu7MaljkAquiIjMqidKAiW5CHGlSpXUZWC0Q2/SW1OwYEFMmTIFgwYNQmYoV64ccufOjcaNG2Pfvn26/XFxcTh69CgaNWqk2yfX05H7Bw4ceGl52mvjJA2gRL9+/ZAjRw5UqVJFBWEcMiAyH/b2dviwTmGs7lcTRXyz4l5ULLrPPYTR688i5jmTzonIjHqivvvuO8yaNUsFJHJB4o4dO6reHhnOk94fue/g4JChlZXASXqWJJCToG7OnDmoV6+eSnKvUKECHjx4gISEBPj5+SV7ntw/f/58mmXKc2Qo8sMPP0y2f9SoUWjQoAHc3NywZcsWfPLJJyoHTPKnXkbqpF18VHsBQ+1FEmUzFilLAjpjlmmt2FbW314lc3lgzSc1MP7v8/j9YCh+2xuCfZcfYGqnIBTz88iw17XEtjIVtpX+2Fbm0Vb6lql3ELV8+XIsXLgQrVu3VrlEgYGBavjrxIkTKk8qM0gyuGxa0iN25coV1Qsml50xlAQ5LVu2VMOSI0aMSPbYsGHDdLfLly+v8rcmTpz4yiBq/PjxGDlyZKr9cnFmaStjfrhRUVHq5OFVvl+NbWU77TWwdm5U9HfFqE1Xcf5OFNpM24dP6wSgU3m/DPk/ypLbKrOxrfTHtjKPtpJyjRpE3bx5ExUrVlS3Ja/IxcVFDd9lVgD1MjLUpr1mnwy9SW/Y3bvJr7Ul91PmNkkDNWvWDB4eHli1alWy1dfTIrP8pMdKeprkvadFhjslqT1pkJYvXz5ky5ZNDRca88SRdpdy+Uv2amwr22qvNj4+qFEiL7786xR2XbyPSduv4/DNaEzoUFbN6DMmS2+rzMS20h/byjzaKmV6z0uP07dAGSaTZPKkL5A1a1aYWnBwsBrmE1I/CfS2bdumm0knjSz3+/fvnyy4kRl7EgytXbtWLYWgz+vIB/WyAErIY2k9Lh+usT9gOXEyolxrxLayrfby88qC+T0rY+GB6xi78ZwKppr9tAdj25VFi7Iv/q8wFktvq8zEttIf28r0baVveXoHUdJd9v777+uChJiYGHz88cdwd3dPdtzKlSv1rqTkGCVd/TwkJEQFKz4+Pmr9JunZCQsLU8OIYurUqSqJvXTp0ur1JSdq+/btKmdJS3qCevToofKmpJdKniNDcdrZehJANWnSBNHR0fj999/VfW3uUs6cOVVP1rp161TvVbVq1VSA9c8//6iLK8uCokRkGf+x9qhRANULZ8fApcE4ezsSn/xxDG3K+WNk69LwdvvfH4REROmldxAlgUlSsiTAmzpy5Ajq16+vu68dCpPXkvWbZG2m0NDQZLPvhgwZogIrSfiWvKytW7cmK6NTp05q3SpJhJflFmQmn6wDpU02l7WjJBFdFClSJFl9JIiTRTplaE/WrpLhSgke5Tjt0glEZDkksVxm7/28/RKm77yCNcG38O/Vh/i+QyDqF//f+nJEROlhp+G8/QwjPVxyYWbtEgrGIkOUstip9Nixu/fV2FaGseb2Cr4RgcF/BuPq/afq/rtVAvBNy5LI6pK+5fKsua2MjW2lP7aVebSVvt/f/ISIyCaUy+etLmTcs2YBdX/JoVA0/2k3DoWEm7pqRGShGEQRkc1wdXLA8FalsbhPVeTxzoIb4c/Q6dcDGLuBC3QSkeEYRBGRzalROAc2DayNdyrlhSQ0zN4Tghb/3YOj19krRUT6YxBFRDbJw9UJE94Owm89KsHXw0XlSr098wBGrjuD6DjjLY5LRNaLQRQR2bSGJf3wz6C66FjxRa/UvH3X0GzqHuy/8sDUVSMiM8cgiohsnpebEyZ2DMKCD6rA38sVoeHR6DL7IL5ZdQpPYtkrRURpYxBFRPT/6hbLic2D6qBr1QB1/4+DoWg6Zbda9ZyIKCUGUUREKXKl5BIxi3tXRT6fLAiLeIYecw/hi+UnEBEdZ+rqEZEZYRBFRJSGGkVyYPPAOni/RgHIddaXH72JRpN3Ye2JW+pKBkREDKKIiF7CzdkRI1qXxvKPqqOIb1Y8eBKHAUuO4/15h3EjPNrU1SMiE2MQRUT0GpUK+GDDgFoY3LgYnB3sVY5U05/2YNHh24hPSDR19YjIRBhEERHpwcXRAQMaFlWLdFYr5IOY54n4aVco2k7fjxM3IkxdPSIyAQZRREQGKJQzK5b0qYYfOpSFp6sDzt6OQrvp+zBq3Vk85XIIRDaFQRQRkYHs7OzU4pwregahTTl/JGqAuftC0HjyLmw9e9fU1SOiTMIgiogonXzcnTDlnReLdMpyCLcex6D3wiP4eNFR3Ip4ZurqEVEGYxBFRGSERTq3DKyLj+oWgoO9HTaduYOGP+7CjJ1XEBfPxHMia8UgiojICLI4O2Bo85JqFl+VAj549jwBP2w6j2Y/7ca+y7wOH5E1YhBFRGREJXJ5YtlH1TD5nSDkyOqMq/efouucg+i3+BjuPI4xdfWIyIgYRBERZUDiefsKebFtSD214rm9HbDh5G00+HEnft19Bc+5thSRVWAQRUSUQbyyOKkVz9d9WgsV82dDdFwCxm08jxY/7cH+KxziI7J0DKKIiDJYaX8vdemYiW8HIru7My7de4Iusw+qS8hwiI/IcjGIIiLKBPb2duhYKR+2D6mH7tXzqyE+uZhx/Uk78cv2S4h5nmDqKhKRgRhEERFlIi83J4xqUwZr+78Y4pNZfJO2XFRLImw8dRsajcbUVSQiPTGIIiIygTJ5vLDi4+r477vlkdvLFWERz/DJH8fQ6dd/cebWY1NXj4j0wCCKiMiEs/haB/mrIb7PGhaFq5M9DoWE462f92LoypN48CTW1FUkoldgEEVEZAYLdQ5qXEwFUxJUyYjekkM3UH/iTszefZWrnhOZKQZRRERmwt87ixrek2G+snm8EBUbj7Ebz6Hp1N3qwsbMlyIyLwyiiIjMTKUCPljTryYmvB2IHFldEPLgqbqw8buz/8Wpm8yXIjIXDKKIiMx0SYR3KuXDjs/rom+9wnB2tMe/V8PR6pe9+GzpcdwIjzZ1FYlsHoMoIiIz5uHqhK+alcCOz+uhffk8at+a4FtqSYRxG8/hcfRzU1eRyGYxiCIisgB5vLNgcqdyWP9pLdQskh1xCYn4dfdV1J20A3P2XEVsPBfrJMpsDKKIiCxsfanfe1XFvJ6VUcwvKyKin2PMhnNoNHkX1p+8xeRzokzEIIqIyALXl6pf3BcbB9TG9+3LwtfDBTfCn6H/4uNoO30/Dl59aOoqEtkEBlFERBbK0cEenasEYOcX9TCoUTG4OTvgxI0Itep597mHcDqMM/mIMhKDKCIiC+fm7IjPGhVVwdR71QLgaG+H3Rfvq5XP+y0+hiv3n5i6ikRWiUEUEZGV8PVwxZi2ZbFtSF20LecPOztgw8nbaDJlN75acRK3Ip6ZuopEVoVBFBGRlcmf3R1TO5fH35/VRqOSvkhI1GDZkRuoN2knRq8/i4e8Jh+R5QdRu3fvRqtWreDvL38x2WH16tWvPH7nzp3quJTbnTt3kh03bdo0FChQAK6urqhatSoOHTqU7PGYmBj069cP2bNnR9asWdGhQwfcvXs32TGhoaFo2bIl3Nzc4Ovriy+++ALx8fFGfPdERBmrRC5PzOlRGX/1rY6qBX3UNfh+2xuCOhN2YMo/FxEVwzWmiCw2iHr69CmCgoJU0GOICxcu4Pbt27pNghytZcuWYfDgwRg+fDiOHTumym/atCnu3bunO2bQoEFYt24dli9fjl27duHWrVto37697vGEhAQVQMXFxWH//v1YsGAB5s+fj++++85I75yIKPNUzO+DpR9Ww4IPqqBMHk88jUvAT9suqWBqxs4reBrLPxCJ0kVjJqQqq1ateuUxO3bsUMc9evTopcdUqVJF069fP939hIQEjb+/v2b8+PHqfkREhMbJyUmzfPly3THnzp1T5R44cEDd37hxo8be3l5z584d3TEzZszQeHp6amJjY/V+T48fP1blyk9jkvd0//599ZNejW1lGLaX9bdVQkKiZv2JW5r6k3Zo8n+1Xm0VRm3RzNp1WRMdG59Br2mZbWUKbCvzaCt9v78tMieqXLlyyJ07Nxo3box9+/bp9kvP0dGjR9GoUSPdPnt7e3X/wIED6r48/vz582THlChRAgEBAbpj5GfZsmXh5+enO0Z6syIjI3HmzJlMepdERBlzTb6WgbmxZWAd/NgxCPmzu+Hh0ziM23getSdsV6ufxzzn6udE+nCEBZHAaebMmahUqRJiY2MxZ84c1KtXDwcPHkSFChXw4MEDNRSXNPgRcv/8+fPqtuRPOTs7w9vbO9Ux2twq+ZlWGdrHXkbqJJuWBF0iMTFRbcYiZUnnnTHLtFZsK8OwvWynreztgHbl/fFWYC6sDr6FX7Zfxo1Hz9Tq57N2X8XHdQqhS5V8cHFygK23VWZiW5lHW+lbpkUFUcWLF1ebVo0aNXDlyhVMmTIFixYtgqmNHz8eI0eOTLX/0aNHRk1Klw83KipKnTzS00Yvx7YyDNvLNtuqYUE31H2/DNafeYDf/g3D7chYjN5wDjN3Xcb7VfzRNtAXLo7pf4/W1FYZjW1lHm0l5VpdEJWWKlWqYO/evep2jhw54ODgkGqmndzPlSuXui0/ZdgvIiIiWW9UymNSzujTlqk9Ji1Dhw5VSe1Je6Ly5cuHbNmywdPTE8Y8cWRWopTLX7JXY1sZhu1l2231Qb0ceK9WMaw4ehPTdl7B7ccxmLj9OhYduYOP6xZGp0p509UzZY1tlVHYVubRVo6OjrYRRAUHB6thPiHDdBUrVsS2bdvQtm1bXSPL/f79+6v78riTk5PaJ0sbaGf7yZIG1atXV/fl59ixY9WMPu3Mv3/++UcFQqVKlXppXVxcXNSWkny4xv6A5cTJiHKtEdvKMGwv224rV2d7vFe9ADpWzoc/j9zEtO2XcScyBiPWnVWB1Ye1C6FL1QC4uxj29WGNbZVR2Fambyt9yzNpEPXkyRNcvnxZdz8kJEQFRT4+PirRW3p2wsLCsHDhQvX41KlTUbBgQZQuXVqt9SQ5Udu3b8eWLVt0ZUhPUI8ePVTelPRSyXNkKYWePXuqx728vNCrVy91nLyOBEaffvqpCpyqVaumjmnSpIkKlrp164YJEyaoPKhvv/1WrS2VVpBERGRtXBwd0K1afnSsmBd/HrmBmTuv4NbjGIzdeA7Td15Gr1oF0a16AXhlcTJ1VYlMxqRB1JEjR1C/fn3dfe1QmARBsi6TrAElPURaMgw3ZMgQFVjJIpiBgYHYunVrsjI6deqE+/fvqzWdJPiRmXybNm1KliguOVQSZUpPlCSCy8y76dOn6x6XIcH169ejb9++Krhyd3dXdRo1alQmtAoRkflwdXJA9+oF0LlyAFYdv4npO6/g+sNoTNpyEbN2XUWPGgXwQa2C8HF3NnVViTKdnaxzkPkvaxskJ0p6vh4/fmz0nKjw8HDVk8bu3ldjWxmG7aU/W22r+IREbDh1W83mu3TvxYWNszg5oGvVAPSpUwh+nq6pnmOrbZUebCvzaCt9v7/5CRERkd4cHezRplwebB5YBzPfq6hWQH/2PAFz9oag9g878O3qU7gRHm3qahJlCgZRRESUrkU7m5XJhXX9a2Fez8qolD8b4hIS8fu/oag/aSc+X34Cl+/pN02cyFJZ/Ow8IiIy7eyo+sV9Ua9YThwMCVfDfHsvP1DLJMjWqKQfPqxTEIU8TF1TIuNjEEVEREYJpqoVyq62Y6GPMGvXFWw5exdbz73YAv2zol+DYmhcKpfqxSKyBhzOIyIio6oQkA2zulXC1sF18W6VfHB2sMPJW0/w0e/H0GjKLiw7HIrYeF6fjywfgygiIsoQhXNmxfj2gdj9RT30rOoPD1dHXL3/FF/9dQq1ftiBGTuv4PGz56auJlG6MYgiIqIM5evpin6182HfV/XxbcuSyO3livtRsfhh03nU/H47xm08h9uPn5m6mkQGYxBFRESZIquLI3rXLoRdX9THjx2DUMwvK57ExuPX3VdRZ8IODF4WjNNhj01dTSK9MbGciIgylbOjPTpUzIv2FfJg54X7mLnriprZt/J4mNqqFvRRl5VpWNIPDkxCJzPGIIqIiEy3PEIJX7WduBGB3/aGYOOp2yqgki1/dje8X6MAOlbKp3qxiMwNh/OIiMjkgvJ547/vlseer+qjb73C6sLGco2+kevOovr4bRi74SxuPuJK6GReGEQREZHZyO2VBV81K4EDQxtgdNsyKJTDHVEx8Zi9JwR1J+5Evz+O4ej1R6auJpHC/lEiIjI7bs6O6FYtP7pWCcDOi/fUUN++yw/VxY9lK5fPGz1rFkDzMrlVjhWRKTCIIiIisyWrmzco4ae283ciMXdvCFYH30LwjQh8tjQYYz3OoUvVAHSpEqCWUiDKTAzfiYjIIpTI5YkJbwdh/9cNMLBRUeT0cMG9qFhM3XoJNb7fjk+XHMfR6+HQaDSmrirZCPZEERGRRcmR1QUDGxXDJ/WKYNOZO1i4/xqOXH+EdSduqa20vyd6VC+A1uX84erkYOrqkhVjTxQREVkkyYVqHeSPFX1rYP2ntdCpUj64ONrjzK1IfPnXSVQbvw3jN57DjXDO6qOMwSCKiIgsXpk8Xvjh7UD8O7QhhjYvgbzZsiAi+jlmyWroE3eg94Ij2HPpPhITOdRHxsPhPCIishrZ3J3xUd3C6vIy28/fw8ID17Dn0gNsPXdXbQWyu6lE9Lcr5oOPu7Opq0sWjkEUERFZHblcTONSfmq7fO8Jfv/3OlYcvYlrD6MxbuN5TNp8ES3K5kLXavlRKX82tXo6kaEYRBERkVUr4psVI1qXxhdNi6vE898PXsfpsEi1VIJsciHkrlXzo235PGqldCJ9MYgiIiKb4O7iiM5VAtR28mYE/vg3FGtP3MLFu08wfO0ZjP/7nEpUl4AqMK8Xe6fotRhEERGRzQnM643At73xzVslsfp4mBruk2DqzyM31VYmj6cKpiSokuCLKC2cnUdERDbL09UJ3asXwOaBdbDi4+poVz4PnB3s1XDf0JWnUHXcNny7+hTO3Hps6qqSGWJ4TURENk+G7ioV8FHbsLdK4a+jN/HHwesqEf33f0PVVjaPF96pnA9tyvmr4IuIQRQREVESsvRBnzqF0KtWQRy4+hCLD4Ziy9k7OBX2WG1jN5xFi7K50blyACoX4Mw+W8YgioiI6CUXP65ZJIfawp/GYeWxm1h2+AYu3XuClcfC1FYoh7vqnWpfIQ98PXgBZFvDIIqIiEiP3ilZwFN6p47fiMCyQzew7uQtXH3wFN//fR4TN19AwxK+6FwlH+oUzQlHB6Yc2wIGUURERHqSobsKAdnUNqxVKWw4eQtLD9/A8dAIbDl7V225PF3xdsW8eKdSPgRkdzN1lSkDMYgiIiJKh6wujuhUOUBtF+9GqaE+GfK7ExmDX3ZcVlvNItlVMNW0dC64OjmYuspkZAyiiIiI3lAxPw81q+/LZsXxz9m7KqDae/kB9l1+qDZPV0e0CvJHh4p5UT6fN5PRrQSDKCIiIiNxcXTAW4H+arsRHo3lR29ixZEbuPU4Bn8cDFVboZzuarivffm8yOXFZHRLxiCKiIgoA+TzccPgxsUwsGFRtVSCXAD579O3cfX+U0zYdAGTNl9AraI5VUDVpJQfh/ssEIMoIiKiTFoqYVSb0vj71B0VUB26Fo7dF++rzUM73FfeHwHuGlNXmfTEIIqIiCiTeLg6qXWlZLv24KlKRP/rWBjCIp6pRT1ly+/jincqB6BDhXwc7jNzDKKIiIhMoEAOdwxuUhwDGxXDv7rhvju4Hh6DiZsvYtKWi6hVJIca7uPsPvPEIIqIiMjEw301iuRQ24jWcVjx7xVsuvAIh649wp5LD9Qmw31vBeZGu/J5USl/NvUcMj0GUURERGa09lTrsjnxft3iuPHomRrqk4shy3DfkkM31JY3Wxa0K58HbcvnQeGcWU1dZZtm0nXpd+/ejVatWsHf31+tmbF69Wq9n7tv3z44OjqiXLlyyfZHRUVh4MCByJ8/P7JkyYIaNWrg8OHDyY6R10prmzhxou6YAgUKpHr8+++/N8K7JiIier382d3V7L49X9bH4j5V0bFiXhVk3Xz0DD9vv4yGP+5Cm1/2Yv6+EDx8Emvq6tokk/ZEPX36FEFBQfjggw/Qvn17vZ8XERGB7t27o2HDhrh7926yx3r37o3Tp09j0aJFKjj7/fff0ahRI5w9exZ58uRRx9y+fTvZc/7++2/06tULHTp0SLZ/1KhR6NOnj+6+h4dHOt8pERHRGwz3Fc6htlFtyuCfc3ex6thN7L70ACduPlbb6A3nULdYTtVD1ZjLJdhGENW8eXO1Gerjjz9Gly5d4ODgkKz36tmzZ/jrr7+wZs0a1KlTR+0bMWIE1q1bhxkzZmDMmDFqX65cuZKVJ8fXr18fhQoVSrZfgqaUxxIREZlKFmcHtA7yV9uDJ7FYd+IWVh0Pw8mbj7H9/D21SW9V8zK50K5CHlQrmJ35UxnI4nKi5s2bh6tXr6oeJm1QpBUfH4+EhAS4uiafEirDenv37k2zPOnJ2rBhAxYsWJDqMRm+Gz16NAICAlTQNmjQIDWE+DKxsbFq04qMjFQ/ExMT1WYsUpZGozFqmdaKbWUYtpf+2Fb6Y1tlTFv5uDmhR/X8arty7wlWB99Sm+RPyUrpsuX2clUBV7vy/urSNNYkMQPPK33LtKgg6tKlS/j666+xZ8+eNIMZ6TmqXr26CnxKliwJPz8/LFmyBAcOHECRIkXSLFOCJ3leyuHEAQMGoEKFCvDx8cH+/fsxdOhQNQw4efLkl9Zv/PjxGDlyZKr9jx49UgGeMT9cyf2Sk8fe3qRpbWaPbWUYtpf+2Fb6Y1tlfFtlcwR6VsqBHhWz40RYFDaefYB/LoTj9uMYzNp9VW3FfN3QolQONCuRHTmyOsPSJWbgeSXl6sNOI69uBiRxe9WqVWjbtm2aj0sPU7Vq1VTukgznaYfqZDgvODhYd9yVK1dUjpUkrctwnwRCxYoVw9GjR3Hu3LlU5ZYoUQKNGzfGzz///Mr6zZ07Fx999BGePHkCFxcXvXui8uXLp4IoT09PGPPEkTKzZZNprvwP6VXYVoZhe+mPbaU/tpVp2ir2eQK2X7iP1cfDsPPifTxPePF1L6N7snp6u3L+aFLaD27OFtWfkinnlXx/S7mPHz9+5fe3xbScRIVHjhzB8ePH0b9//2RdedIrtWXLFjRo0ACFCxfGrl27VNK6NELu3LnRqVOnVPlOQnq0Lly4gGXLlr329atWrap6k65du4bixYuneYwEV2kFWPLhGvsDlqAzI8q1Rmwrw7C99Me20h/bKvPbKouLPVoG+qvt0dM4rD/5In/qWGiEbv2pLKsdVCDVtlwe1CqaA04OlvX52GXQeaVveRYTREkkeOrUqWT7pk+fju3bt2PFihUoWLBgssfc3d3VJlHq5s2bMWHChFRl/vbbb6hYsaKaIfg60tsljerr62uEd0NERJR5srk7o1v1AmqTy81IMLU6OAzXH0ZjTfAttfm4O6Nl2dxoU84fFfNnUwEKmXEQJUNjly9f1t0PCQlRwYrkIUkyt+QhhYWFYeHChSqAKVOmTLLnS0AjSeRJ90vAJL1T0lskZX/xxRdqyK5nz57Jniu9VMuXL8ePP/6Yql6SQ3Xw4EE1Y0/ypeS+JJW/9957qnuPiIjIki83M6hxMQxsVBTHb0RgbfAtNcvv4dM4LPr3utpkQU9JSJcFPa0tId1qgigZnpNARWvw4MHqZ48ePTB//nyVyB0aGmpQmTJ+KcHXzZs3VTAmaz+NHTsWTk5OyY5bunSpCrbefffdVGXIkJw8LjlXkuMkvVwSRGnrR0REZOmkp6lCQDa1fduyJPZdeYg1x8Ow+cwdtaDn9J1X1FYilwfalMuD1uX8kcc7i6mrbVbMJrHcGklvl5eX12sT0wwluWDh4eEqSGR+wauxrQzD9tIf20p/bCvLaqtncQnYeu6uGuLbdfGeLiFdVCnggzbl/dGiTG41RGitbaXv97fF5EQRERFR5izo2SrIX20R0XHYeOoO1gSH4WBIOA5de7GNWHtGrZDeulweNC7pp55jixhEERERUZq83ZzRpWqA2m5FPFO5U9JDdfZ2JLaeu6c2N2cHNC2dSw331SpieTP83gSDKCIiInotf+8s+KhuYbVduhv1YlbfiTDcCH+mZvvJll1m+AW+mOEnuVbWPsOPQRQREREZpKifBz5vWhxDmhRT606tDQ7D+pO31Qy/hQeuq01m+EkwJWtQyfHWiEEUERERpYudnZ1aU0q2b98qhX2XH6geKu0Mv2k7rqitZG5PtC33Is9KerSsBYMoIiIiemNODvaoV9xXbTLD759zd1UP1c4L93HudqTavt90/sUMv3J50KJsLpVzZckYRBEREZFRZXF2UIt1yiaXnNl4+rbqoToUEq5m+ck2fO1p1C3mq4b8GlnoDD8GUURERJRhsrk7o2vV/GoLSzLDT3qmZD0q2dxTzPBztJAZfgyiiIiIKFPk8c6Cj+sWVttFNcMvTAVUkj+18niY2mSG31uBudUaVBUCvM16hh+DKCIiIsp0xfw88EXTEvi8SXEcC32kgintDL8FB66rLZ9PFrQJyqOG/Mxxhh+DKCIiIjLxDD8ftQ17qxT2Xn6gLoosM/xkDapfdlxWmznO8GMQRURERGYzw69+cV+1vWyG3/i/z6NKQR+0DsyN6nld4WPC+jKIIiIiIoua4Xfo/zdHezvM71kZtYrmNEkdGUQRERGRxczwu/X/M/xWB4fh6v2nCMzrZbJ6MYgiIiIii7uGX5/aBXEh9A6yupgulLGMhRiIiIiIUsiZ1bQrnjOIIiIiIkoHBlFERERE6cAgioiIiCgdGEQRERERpQODKCIiIqJ0YBBFRERElA4MooiIiIjSgUEUERERUTowiCIiIiJKBwZRREREROnAIIqIiIgoHRhEEREREaUDgygiIiKidHBMz5NIPxqNRv2MjIw0armJiYmIioqCo6Mj7O0ZB78K28owbC/9sa30x7bSH9vKPNpK+72t/R5/GQZRGUg+XJEvXz5TV4WIiIjS8T3u5eX10sftNK8Ls+iNouRbt27Bw8MDdnZ2Ro2QJTC7ceMGPD09jVauNWJbGYbtpT+2lf7YVvpjW5lHW0loJAGUv7//K3u52BOVgaTh8+bNm2Hly0nDXzL9sK0Mw/bSH9tKf2wr/bGtTN9Wr+qB0uKAKxEREVE6MIgiIiIiSgcGURbIxcUFw4cPVz/p1dhWhmF76Y9tpT+2lf7YVpbVVkwsJyIiIkoH9kQRERERpQODKCIiIqJ0YBBFRERElA4MooiIiIjSgUGUmZg2bRoKFCgAV1dXVK1aFYcOHdLreUuXLlWrobdt2zbZfpkv8N133yF37tzIkiULGjVqhEuXLsEaGLut3n//fbU/6dasWTPYWlvNnz8/VTvI85LieaV/W/G8+p+IiAj069dPnTcyk6pYsWLYuHHjG5Vpq201YsSIVOdViRIlYC2mGdBe9erVS9UWsrVs2TLz/s+S2XlkWkuXLtU4Oztr5s6dqzlz5oymT58+Gm9vb83du3df+byQkBBNnjx5NLVr19a0adMm2WPff/+9xsvLS7N69WrNiRMnNK1bt9YULFhQ8+zZM40ly4i26tGjh6ZZs2aa27dv67bw8HCNpTO0rebNm6fx9PRM1g537txJdgzPK/3biufVC7GxsZpKlSppWrRoodm7d6/6Xdy5c6cmODg43WXaclsNHz5cU7p06WTn1f379zXWYKmB7fXw4cNk7XD69GmNg4OD+v3MrP+zGESZgSpVqmj69eunu5+QkKDx9/fXjB8//qXPiY+P19SoUUMzZ84c9Z910sAgMTFRkytXLs3EiRN1+yIiIjQuLi6aJUuWaCyZsdtKpLXPGhjaVvIfj/xn8zI8r/RvK8Hz6oUZM2ZoChUqpImLizNambbcVhJEBQUFaaxRlTc8D6ZMmaLx8PDQPHnyJNP+z+JwnonFxcXh6NGjqosx6TX35P6BAwde+rxRo0bB19cXvXr1SvVYSEgI7ty5k6xMuQaQdI2+qkxbbCutnTt3qmOKFy+Ovn374uHDh7Bk6W2rJ0+eIH/+/Oqinm3atMGZM2d0j/G80r+ttHheAWvXrkX16tXVEJWfnx/KlCmDcePGISEhId1l2mpbaclwlFwYt1ChQujatStCQ0Nh6eKMcB789ttv6Ny5M9zd3TPt/ywGUSb24MED9QsivzBJyX358NOyd+9edbLMnj07zce1zzOkTFttKyF5KgsXLsS2bdvwww8/YNeuXWjevHmq/7isva3ki37u3LlYs2YNfv/9dyQmJqJGjRq4efOmepznlf5tJXhevXD16lWsWLFCPU9ye4YNG4Yff/wRY8aMSXeZttpWQgIAycnbtGkTZsyYoQKF2rVrIyoqCpbswRueB5I7dfr0afTu3Vu3LzP+z3I0SimUaeQXpVu3biooyJEjh6mrYxVtJX+5aJUtWxaBgYEoXLiw6kVo2LAhbIX8BSyblgQFJUuWxKxZszB69GiT1s0S24rn1QsSYEpv3K+//goHBwdUrFgRYWFhmDhxorpkBxnWVhKIa8k5JUGV9Ij++eefr+xtt3a//fab+j2rUqVKpr4ugygTky93+WW5e/dusv1yP1euXKmOv3LlCq5du4ZWrVol+8UTjo6OuHDhgu55UobMSEhaZrly5WCpMqKt5EstJekil9e6fPmyxX7ZGdpWaXFyckL58uVVOwieV/q3VVps9bySc0XaR56nJQGn9ATIEI4x2t9W2srZ2TnVc7y9vdUMvlede5YgxxucB0+fPlWzryV1I6nM+D+Lw3kmJr8U8teGdPkn/aKX+0n/0tWSqaynTp1CcHCwbmvdujXq16+vbkt+RsGCBdXJk7TMyMhIHDx4MM0ybbmt0iJDMpK7kvSXztrbKi3StS7tp20Hnlf6t1VabPW8qlmzpvqC1/4BIy5evKjaQcozRvvbSlu9LDdP/mC05PNKvMl5sHz5csTGxuK9995Ltj9T/s8ySno6vfG0TpktMH/+fM3Zs2c1H374oZrWqZ0y3a1bN83XX39t0CwgmdYpZaxZs0Zz8uRJ9bi1TEU3ZltFRUVpPv/8c82BAwfUdOKtW7dqKlSooClatKgmJiZGY0ttNXLkSM3mzZs1V65c0Rw9elTTuXNnjaurq5pqrMXzSr+24nn1v7YKDQ1VM6b69++vuXDhgmb9+vUaX19fzZgxY/Qu01JlRFsNGTJELXsg59W+ffs0jRo10uTIkUNz7949jaVbms7/32vVqqXp1KlTmmVm9P9ZDKLMxM8//6wJCAhQa2TINM9///1X91jdunXVl78hQZRM7Rw2bJjGz89PnZQNGzZUv5TWwJhtFR0drWnSpIkmZ86cGicnJ03+/PnV2iSW/p93etpq4MCBumPlvJG1ao4dO5asPJ5X+rUVz6vkv4P79+/XVK1aVZ0zMoV/7NixaukRfcu0ZMZuKwkWcufOrcqTte/k/uXLlzXW4mcD2+v8+fMa6Q/asmVLmuVl9P9ZdvKPcfq0iIiIiGwHc6KIiIiI0oFBFBEREVE6MIgiIiIiSgcGUURERETpwCCKiIiIKB0YRBERERGlA4MoIiIionRgEEVENmHEiBFmdY0/Ozs7rF692uDnaa+PKRfYzkgPHjxQF8OVy9UQUdoYRBGR0cycORMeHh6Ij49Pdm0vuahqvXr1kh27c+dOFUjIdb+smbGDt6FDh+LTTz9V7ZzRF4Tt3r07hg8fnqGvQ2TJGEQRkdHIxZ0laDpy5Ihu3549e1TPiVz0MyYmRrd/x44dCAgIQOHChU1UW8sTGhqK9evX4/3338+U1+vZsyf++OMPhIeHZ8rrEVkaBlFEZDTFixdXV5OXXiYtud2mTRt1RfV///032X4JusSiRYtQqVIl1bsiAVeXLl1w79493ZXc8+bNixkzZiR7rePHj8Pe3h7Xr19X9yMiItC7d2/kzJkTnp6eaNCgAU6cOPHK+s6ZMwclS5aEq6srSpQogenTp+seu3btmuopW7lypaqnm5sbgoKCcODAgWRlzJ49G/ny5VOPt2vXDpMnT4a3t7d6bP78+Rg5cqSqh5Qlm+xLOmQmz5HnFi1aFGvXrn1lff/8809Vhzx58ryyp2vq1KkoUKCA7r4EXW3btsW4cePg5+en6jdq1CjVY/jFF1/Ax8dHtfG8efOSlVO6dGn4+/tj1apVr6wXka1iEEVERiUBh/QyacltGcqrW7eubv+zZ89Uz5Q2iHr+/DlGjx6tgg3JE5IARtvbIoHSu+++i8WLFyd7HekhqVmzJvLnz6/ud+zYUQVef//9N44ePYoKFSqgYcOGL+1Fked/9913GDt2LM6dO6cCjGHDhmHBggXJjvvmm2/w+eefIzg4GMWKFVN10Q5X7tu3Dx9//DE+++wz9Xjjxo1VeVqdOnXCkCFDVDBy+/Zttck+LQmw3nnnHZw8eRItWrRA165dX9nrI716Emymx/bt23Hr1i3s3r1bBXoyTPfWW28hW7Zs6rOQ9/HRRx+lyoGqUqWKel0iSoPRLmVMRKTRaGbPnq1xd3fXPH/+XBMZGalxdHTU3Lt3T7N48WJNnTp11DHbtm1TV16/fv16mmUcPnxYPR4VFaXuHz9+XGNnZ6c7PiEhQV3BfsaMGer+nj17NJ6enpqYmJhk5RQuXFgza9YsdXv48OGaoKCgZI9JnZIaPXq0pnr16up2SEiIqsOcOXN0j585c0btO3funLrfqVMnTcuWLZOV0bVrV42Xl5fufsrX1ZJyvv32W939J0+eqH1///33S9tWyhk1alSyfWmVP2XKFE3+/Pl19+XK93Jf2k2rePHimtq1a+vux8fHq89tyZIlycoaNGiQpl69ei+tE5EtY08UERmV9Do9ffoUhw8fVj0Y0nsjQ2zSE6XNi5KhvEKFCqmcKCE9R61atVL3ZUhPjtXmAAkZrpJhN21v1K5du1Svk/Q+CenBklys7NmzI2vWrLotJCQkzcR1qZ/s79WrV7Ljx4wZk+r4wMBA3W0ZqhTaoUaZKSc9NUmlvP8qSct2d3dXw5DastMiPXgy9Jge0hsmvXpaMqxXtmxZ3X0HBwfVfilfP0uWLIiOjk7XaxJZO0dTV4CIrEuRIkVUfo0M3T169EgXEElujeQO7d+/Xz0mOUvagKZp06ZqkyE2CbgkeJL7cXFxunJlqEuCqK+//lr9bNasmfrSFxJApczF0tLmJyUlx2vzmapWrZrsMQkmkpKZhVqS06TN0zKGpGVry39V2TJjTtr0dRISEvR6LX1eX4YX5TMhotQYRBGR0UmukwQ08oUvictaderUUTlLhw4dQt++fdW+8+fP4+HDh/j+++9VkCWSzu7TkmTzb7/9VvVarVixQi2noCX5T3fu3IGjo2OyhOqXkV4YCequXr2qgrM3SaSXHrekUt53dnZOM6hJj/Lly+Ps2bOp9t+9ezfZfXlfxnL69OlUy1MQ0QscziOiDAmi9u7dq5KttT1RQm7PmjVL9TBpk8plCE8CjZ9//ll9+csMNUkyT0mCoxo1aqghOAlKWrdurXusUaNGqF69upqBtmXLFpWYLj1ekhSeVkCmTeoeP348/vvf/+LixYs4deqUmp0mSdf6kvWaNm7cqJ5z6dIl9d4kSNT2WGnrLcOK0hYyGy82NhbpJb1zMjswZVAmAaTMtpP2++uvv9RsRwlgJUB9EzKMJ0FrkyZN3qgcImvFIIqIjE4CJMnfkaE96fVJGkTJStvapRCEDBXJtP/ly5ejVKlSqkdq0qRJaZYrvUaS/yTLAkiujpYELRLMSE+XrG0keVidO3dWyx8kff2kZDkEWeJAAifJDZK6ST1kKQZ9yexA6RGTIEqWHti0aRMGDRqULG+pQ4cOauhR2kTe65IlS5BezZs3V71tW7duTba/TJkyKhCUvCeZYSjvSwJTmVX4JtasWaOC3Nq1a79ROUTWyk6yy01dCSIia9GnTx/VA5RRywJMmzZN9dZt3rxZt06ULAshPV3GVq1aNQwYMEANpRJRasyJIiJ6A9JrJutDyew6GcqTdaaSLtppbLKWkywsKj16GXnpFxl6bN++vVoXi4jSxp4oIqI3IItlShK9BDWybIPkScnClZklI3uiiOjVGEQRERERpQMTy4mIiIjSgUEUERERUTowiCIiIiJKBwZRREREROnAIIqIiIgoHRhEEREREaUDgygiIiKidGAQRURERJQODKKIiIiIYLj/A3Mmtp+XScWbAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "abbe_material = AbbeMaterial(n=1.5, abbe=65.0)\n",
    "\n",
    "wavelengths = np.linspace(0.4, 0.7, 256)\n",
    "\n",
    "n_abbe = abbe_material.n(wavelengths)\n",
    "\n",
    "plt.plot(wavelengths, n_abbe)\n",
    "plt.xlabel(\"Wavelength (µm)\")\n",
    "plt.ylabel(\"Refractive Index\")\n",
    "plt.title(\"Refractive Index vs. Wavelength\")\n",
    "plt.grid(alpha=0.25)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 3. Material Class (RefractiveIndex.info Integration)\n",
    "\n",
    "The `Material` class connects to refractiveindex.info to access real-world material data. It uses string matching to find the closest match for a given material name."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Example 1: A common glass type"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkAAAAHHCAYAAABXx+fLAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvc2/+5QAAAAlwSFlzAAAPYQAAD2EBqD+naQAAYmZJREFUeJzt3QV4U+fbBvA7bSlFi7u7u7vr0OHDZRuyjTHYxn8Mhk+ZMhzKGDIcxpBhQzYYNtyGu1vR0vZ81/OeL1kqQFKSniTn/l3XgeQkPXny5iR58qpF0zQNRERERCbiZ3QARERERPGNCRARERGZDhMgIiIiMh0mQERERGQ6TICIiIjIdJgAERERkekwASIiIiLTYQJEREREpsMEiIiIiEyHCRB5vH///Rf16tVDcHAwLBYLli5dCk9Qo0YNtfmCTz75RJWtJ5s1axYKFCiABAkSIEWKFEaHQx7MG85n8ccff6g4Fy5caHQopsQEiFwmJCREvZmtW0BAADJnzoyuXbvi4sWLcT5uly5dcODAAYwePVp9CZYpUwbx5fDhw+rD9MyZM/AUknQVKVIEZnL06FF1HuXOnRtTpkzB5MmTX/jllz59ejx8+DDG7Tly5MArr7zi0ONev34d77zzjkq8EiVKhHTp0qFcuXL44IMPcP/+fdv9JDb7c99+W716te1+z7rPp59+Ck+zY8cOFdvXX38d47ZmzZqp22bMmBHjtmrVqqn3Pf1nzpw5+Oabb4wOg6IJiL6D6GWNGDECOXPmxOPHj7F9+3aVGG3duhUHDx5EUFCQU8d69OgRtm3bho8++gj9+vVDfJMEaPjw4SrpkC9Oe7///nu8x2NW8ks5MjIS3377LfLkyePQ31y7dg0TJkzAe++9F6fHvHXrlkq27927h+7du6sk6ObNm9i/f786bu/evZE0aVLb/RMmTIipU6fGOE7x4sWjXK9bty46d+4cZV/JkiXhaUqVKoXEiROr9+67774b5ba//vpL/cD5888/0a1bN9v+sLAw7Ny5E02aNDEgYs9OgOTzr3///kaHQnaYAJHLNWzY0FZL07NnT6RJkwafffYZli9fjjZt2jh1LPkFLhxp8njw4AGSJEmC+BIYGBhvj2V2kswIZ5q+SpQogS+++AJ9+vRRtTfOmjZtGs6dO6e+5CtVqhTlNkmKor/+khB07NjxhcfNly+fQ/czmjyf8uXLq+dv79ixY7hx4wY6dOigkiN7u3fvVj98qlSpEs/REjmPTWDkdlWrVlX/nzx5MkazRqtWrZAqVSpVMyRJkyRJ9k0Z2bNnV5cHDRqkqtyttTDWZg6poZEP4pQpU9o+dOUXujRJ5MqVSx03Q4YM6he8/HqPTprmevTogUyZMqlf8FJzJb/s5Zes1Fy1bt1a3a9mzZq25gqpjYjeB+jq1avqC0Nqi6KTLwz5ux9++MG2786dO+rXYNasWdXjSq2GJIlSyxEXcnypIZP+UdI8JscsXLhwlOYXK/nSKlu2rCobaVKaNGnSM4/7888/o3Tp0iqBkNepXbt2OH/+vO12aQKRx54+fXqUvxszZozav3LlyhfG/uOPP6pYJWZ5Hfr27avKx0pe82HDhqnLadOmVceV1/9Fhg4dql4Xqa2JCzlf/f39UaFChRi3JU+e3OnazOg1m5IoOEr6iMjz3rRpU4zb5PWT26SGQVy5ckXVymTJkkWVacaMGVWTVVyaceU9JWV44sQJ2z5JiOT5v/7667ZkyP4269+JZcuWoXHjxrb3l5xvI0eOREREhO1v5LyVmrTYmivbt2+v3r/291+1apX6TJEfO8mSJVPHP3TokEPP50Xns30Ts3y2yPteasGkSe/zzz+PcbyzZ8+iadOmKhZpHpWasjVr1sT4nPjtt9/Ufa2fIdFrk+V9L0388prJeVW7du0oZU5uohG5yIwZMzQ5pXbu3Bll/w8//KD2T5gwwbbv4MGDWnBwsFaoUCHts88+U/epVq2aZrFYtMWLF6v77Nu3T/v666/V37Zv316bNWuWtmTJEnXbsGHD1H75+2bNmmk//vijNn78eHXbl19+qVWtWlUbMWKENnnyZO2dd97REiVKpJUrV06LjIy0xXDx4kUtU6ZMWuLEibX+/ftrEydO1D7++GOtYMGC2u3bt7WTJ09qb7/9tnqc//3vf+rxZbty5Yr6++rVq6vNqlatWiqe6IYPH675+/vb/u7BgwdasWLFtNSpU6vjyuN27txZPXeJ9UXkMQsXLhxln8RYvHhxLWPGjNrIkSO1b775RsuVK5d6bjdu3LDdb//+/aossmXLpo0dO1bdN3369Cqe6B8Ho0aNUjG1bdtWla88jzRp0mg5cuRQ5WP1yiuvqNfy3LlztscIDAzUevTo8cLnYn0d69Spo33//fdav379VFmVLVtWCwsLU/eR17xFixa2c0heAzk3XnTM69evq9dEnt/Dhw9tt2fPnl1r3LjxC2MbM2aMOk5ISMgL79ulSxctSZIk6jHttzt37kS5nxxP7iflKpflXJs9e/YLjy/xJ02aVOvTp0+M22rWrBnlfKhUqZJ6PYYMGaJNnTpVPQ+5z6ZNmzRnrVmzRsUp722r7t27a/Xq1dMePXqkJUiQQFu2bJnttubNm2vJkiXTwsPDbdfbtGmjffHFF+q1a926tTrewIEDbX+zefNmtW/+/PlRHlveJ1JWffv2te376aefVNk1aNBAnS/y2SHnY4oUKbTTp0/HOAficj7L+0s+F7Jmzarej3JfOY/keCtXrrTd7/79++o9Ju+nDz/8UL3n5DNG3ody340bN6r7/f7771qJEiXUY1k/Q6yfY3IfuW/JkiW10qVLq8+7Tz75RL1v5VjkXkyAyOUJ0Lp169SH//nz57WFCxdqadOm1RImTKiuW9WuXVsrWrSo9vjxY9s+SU7kwztv3ry2ffKhJseUD1B71g84SYyis/+ys5o7d666v3zYWknS4efnFyNhs8YiFixYEOXDzF70BGjSpEnqvgcOHIhyP0mK5APUSpIO+WA/fvx4lPvJh6h8+VsTCWcTIEk6Tpw4YdsnSYLsly8KK/lCCgoK0s6ePWvbd/jwYfW49l8YZ86cUftGjx4d5XHkuQUEBETZf/nyZS1VqlRa3bp1tSdPnqgPc0mw7t69+9znce3aNRWzfJlGRETESJinT58ea1LzIvb3lS99uTxu3DinEyBJWOXclb8vUKCA9uabb2pz5syJkdRYEyC5X/TN/vwQcn7LF6UkDZIQFClSRN1PvmRfRM71dOnS2ZILa9nLOSzJvpAv8tjeL3F17949dR7YJ7P58+dXyYOQL+lBgwbZbpPykvPgee/FN954Q33BW9/78l7LnDmz9uqrr0a5nyRE9u/Z0NBQlej06tUrxuskCZ/9/ugJkDPns7xm8reSbFnJeZ0hQ4YoMX711VfqfkuXLrXtk6RQzpXonxlyvsl5F501AZJEWB7D6ttvv431s4Rci01g5HJ16tRRTRXSvCNNXFI9LE1bUr1r7Vy6YcMG1R8oNDRUVaHLJk1U9evXV8PeHR019uabb8bYZ9/fQ5oZ5NjWZow9e/bYqpyluUg6a8Y2qiwuQ2hbtmypmsF++eUX2z5plpCq9LZt29r2LViwQFXhS7Od9bnLJuUmVf2bN29GXMjfSxODVbFixVRTxalTp9R1ObZUzzdv3hzZsmWz3a9gwYKq3O0tXrxYlZG8RvYxSnNE3rx5sXHjRtt9Zd/48eOxdu1a9bz27t2rmsTksZ9n3bp1qqlRmgL9/P77KOrVq5f6W2k2eFkyIkmaMaT5QpqdnCGjyPbt26fOsdu3b2PixImquVWaOqQZR887/yNNF1IG9ttXX30V5T7SRCSjyqTZRI4rfWakueV///vfC+OTc0j6QlmbVqxNY/I6Wc8vOfelb5LcR2J+WdLEJOeRta+PnAPS7GXtE1W5cmVbs9fx48dVnz37/j/270Xre13OEWnukiZw63tNmpqludR+ZJ28j6TpyXo8KU9pGpVmMftzUpoppa+S/TkZnTPns5AmOft+WlKmMvrP+l4S0rws8clraX8OyPnrLGmytO9TZu02YP945HpMgMjlrF+G8uHcqFEj9UEj7f9W0rYtXx4ff/yxSpTsN2tfD2un1xeRPjvRSYIlXzLyBSYfwHJc6/3u3r2r/pcPaunI6srh5NLZW9ru58+fH+VDXJIiSY6sJMGTD8/oz10SGGeee3T2SY2VJFnWL0J5zvIlKx/40eXPnz/KdYlRXiO5b/Q4jxw5EiNG6UshfTFk6LR8AUg5vIj0iYjtseWLQPpvWW9/WdJfSPrFSAITGykXud262X8JS/8Z6UN0+fJl9cX/3XffqTKQ/kXSSdqefBHLa2i/SX+T55HnKn1g5ItdkqHnadCggZoLyz7BlsvS2Vs6Vgt5n0lfMuknI+e/JICS/MnziitJQKx9fWT0l32/KEmEJO4nT57E6P8jpG9OixYtVNyS1ErZWRML63tRSAIn56a1D6C8BpIQSWJk/TEi56SoVatWjHNSRmQ+733j7PksP9ai/wiyfy8JOT/lB0f0+zk6SvF57115LOGKJJaejaPAyOXkl5K1VkVqG+QDUX45y4eo/LKydvQdOHBgjJoHZz9EYhvdI7/y5INaOk7Ll4P1MeULJK6djB0liYD8mpNaEHlsSYYkGZDkyEpikKHQ77//fqzHsH6ZOUu+mGITvabCERKjfLDLF2lsx7Uf/i2k9m7Xrl3qstR4yd/b1+oYSZIA6YgqiUBsNYbSIdw+2ZIkPHonaykLeV1kk0RPvkhnz56tRjm+LKkptSbuzyPJjbyflixZojqOS+dkSTqkw7k9qVGTmk2p4ZQaP/mhMXbsWFXrGpfh9vL+/f7779VjyfuqaNGittdfEiBJfmTou9QSSbJvTY4kqatevbpKfGRqDEkWpIZEamFlHiX796L8jXQMlveLfFb8+uuvKiGyrzm13l/mApOam+jksV11PrvyveSI+H480jEBIreSN7Z8+EozhIyC+vDDD9WveyEz+lprPVxFfjGtX79ejcaSX+lW1l+PVvLLTz6YrSNnnsXZpjD5gnrjjTdsv9KlWWDw4MFR7iNfBPIL19XP/UXkOUvCGL0shCSn0WOUD1+pOXMkIZORW9LEIa+1PF+Z9G3AgAHP/RvrCD95bOs5IaRZ7PTp0y4tH0loJAmKbcSbJDL2zU/2scRGbpdf6FIr5ArWZg55fV5EEoKZM2eqc1xqLuQ1sk8S7F8/mf9INnm9JRmX5jgZBeUsa42OJDgyJ5c0e1nJ6C55HSU5kk0SLBk1JaQZThJjaX6SJNRKXtvYyA8XmedJambl/SMJkf0IPGvzrjRBOntuOHs+O0KetyT7clz7z4nYRm95w6zUZuQZP9HIp8kXj9QKyZei9MmRDzDrl1FsXyLWuX9e5pdU9F9O0WdhldoJSVbkl6a15sKe9e+t8wrZD8t+HpmnRmq15JfsvHnzVBOHPE70D3r5IpFf59HJ44SHh8MdpGwkNqkZkPltrOSLNHos0mQn95dEMnpZynX7KQWkqVO+sGQ2Y0lwpRZsyJAhKvl7HvkSk/KRZiX7x5CmJWkekZoWV5GaCDnnpHko+vBz+UK3b7ayJkB///23mlsqOmnmk+cfvenuRWI7ryVplHNTaghf1FwmJD4Zvi3lLZu8r+ybgaVvTfTnJ1/+0pdHamqs5H0nfXCePn36wseUJEceQ5Iuea9EnxNJrss5JYmsffNXbO9FSW6l9io2kshJjJLgSRNx9DnD5NyVHy1S4xVb3M/73HDmfHaUxCN9Fe2n7pCyl5nKo5PPEfsmP/IMrAGieCHNUdKeL3PrSDOE9BOSD0upTpc+I/KlI1X6khhcuHBBdT6NC/mAtPZ7kA9J6aQo/QNi+9UpH6Rym3w5ypwm0hlYvhikk7L82pVkRn45ywenfHHKB5g0Q0gfBEninkU+yKWfg3zQy4dk9Mn7pCzkQ1OWY5D5iuSLT75oZbkPSSZkvhb7JjNXki8A+XKRTpYyQaAkW9K8IfPwyPxJ9l+ao0aNUrU5Eo8kcfIlKuUoTTBSXtKEKX0nZN4kqeGzztQtNX3SqVSem5Tjs5rCpMZDji8xSfOkdCaVL1EpN2mWcvVkgdK0JXE6SppapHZI+rDIayTJmiSL0sFbmnKk47Iz5Jy3dryXPh9yrsmxJBmVx3JkYk2pNZUvc0mu5Zz58ssvo9wuSac0uUryUKhQIdUsJK+XvLckMbWScpdEQ17P6HPSxEbeqxKjsK8BsiZAc+fOtd3Pfr/UlMlSNm+//baqBZFjPKtZR2aelqZvmfVdEqHoNVvy3pb+WJ06dVL3lecj55CUn3SYl7js59qy5+j57Ayp6ZXHk07Z0udQ+ovJ+WKdH8q+1kfOH0lYpVZUzm1pcuNs2R7AxaPKyMSeNQ+QkGHOuXPnVpt1GK/MsyND0WV4qcwnIkNhZU4ZGTrv6DD42IZFX7hwQc0bI0NmZXiszD1y6dIldX/5O3syHFxisA7Vl3k9ZN4R+yGpU6ZMUfutQ8Wtw1ujD4O3Hzosc4PIfX/++edYy0qG9A4ePFjLkyePGgouc4TIEGmZw8g6/42zw+Dt50uxkqG3MkTbngwNlzlH5HHleck8RLHNmyIWLVqkValSRQ3bl02G+MrjHDt2TN3esmVLNe+LDDO2J8O85XgyT8uLyLB3Oa6cAzJnT+/evaPMy/Iyw+Cjsw5xdmQYvMxnJEO8S5UqpYb5y3BpmWdJzqc9e/bEOg/Q88h8MDJE3Hq+y/kpUwCsX79ec8batWvVc5A5beynlhAy55O8PlKeEo+c/+XLl48xx4512L793DnPY53iQd6j0UlZWIf9X716Ncptf/75p1ahQgX1fpC5dd5//33b3EKxTS3x0UcfqdvkffEs8nf169dXz02mdJDPlK5du2q7du2y3Seu5/Oz3l/WMos+lP3UqVPqXJLnJ58h7733nnoMeezt27dHmTOoQ4cO6jWX26zHsQ6Dl+k27Fk/9+znXyLXs8g/RidhREREvkCaNGVGaKnJ5qKwno0JEBERURxI5/no845JR3CZc+tFfeDIeOwDREREFAfSH0v6c0lfQekjKKPspHO59AUiz8cEiIiIKA5kkMPUqVNVwiO1PtLxXDqoxzY1AXkeNoERERGR6XAeICIiIjIdJkBERERkOuwD9Ix1Yy5duqQmyuIU5kRERN5BevXIDOsyg/mL1iNkAhQLSX6sCxQSERGRdzl//jyyZMny3PswAYqF1PxYC1CmX3d17ZIs2ClTxHvKatmeimXlOJaV41hWjmNZOYflZXxZyWK6UoFh/R5/HiZAsbA2e0ny444ESNZfkuPyDfJ8LCvHsawcx7JyHMvKOSwvzykrR7qv8BUiIiIi02ECRERERKbDBIiIiIhMhwkQERERmQ4TICIiIjIdJkBERERkOkyAiIiIyHSYABEREZHpMAEiIiIi02ECRERERKbDBIiIiIhMhwkQERERmQ4ToPh29zz8bx4zOgoiIiJTYwIUnw4vg+WHMki68SNA04yOhoiIyLSYAMWnrOUBiz8SXPkH+Pd3o6MhIiIyLSZA8SlZBqBsT3XR8scYIDLS6IiIiIhMiQlQPNMqv4PIBElhubIfOPqr0eEQERGZEhOg+JY4NR6X6KZf3jAaiIwwOiIiIiLTYQJkgEclukMLSgHcOAYcWGh0OERERKbDBMgAWsLk0Cq9pV/5YywQ8dTokIiIiEyFCZBRyr0BJEkL3D4N7J1tdDRERESmwgTIKIFJgCoD9MubPgeePjY6IiIiItNgAmSkMt2BZJmAexeBPTONjoaIiMg0mAAZKUEQUH2Qfnnzl0DYA6MjIiIiMgUmQEYr0RFIkR14cA3YPsHoaIiIiEyBCZDRAgKBWkP0y39+Czy8ZXREREREPo8JkCco0gpIXxR4cg/Y8pXR0RAREfk8JkCewM8PqPOJfnnHZODOOaMjIiIi8mlMgDxFntpAjqpARBiwcazR0RAREfk0JkCewmIB6gzXL++bC1w9bHREREREPsvQBGjz5s1o0qQJMmXKBIvFgqVLlz73/l27dlX3i74VLlw4zsf0KFlKAwWbymIZwPoRRkdDRETkswxNgB48eIDixYtj/PjxDt3/22+/xeXLl23b+fPnkSpVKrRu3TrOx/Q4tYcCFn/g+Crg7DajoyEiIvJJAUY+eMOGDdXmqODgYLVZSe3O7du30a1btzgf0+OkyQuU6gTsDgHWDQO6r9Gbx4iIiMhlvLoP0LRp01CnTh1kz54dPqX6h0BAIuD838CxlUZHQ0RE5HMMrQF6GZcuXcKqVaswZ86clz7WkydP1GZ179499X9kZKTaXEmOp2na84+bND0s5d+E5c+voa0dBi13HcA/AczGobIihWXlOJaV41hWzmF5GV9WzhzPaxOgmTNnIkWKFGjevPlLH2vs2LEYPvz/R2DZkea18PBwuPrFCQ0NVS+8n8z/8wyWwl2Qcs9M+N38Fw+2/IjHxTrBbBwtK2JZOYNl5TiWlXNYXsaXlRzTpxMgKbDp06ejU6dOCAwMfOnjDR48GAMGDIhSA5Q1a1akTJkSyZMnh6tfdBmdJsd+/oueCqgxGFg1CEl2fY/EFboCQf/1fzIDx8uKWFaOY1k5jmXlHJaX8WUVEBDg2wnQpk2bcOLECfTo0cMlx0uYMKHaopMXxR0nsbzoDh27TDdg5xRYbhyH5c9vgLoxa6l8ncNlRSwrJ7CsHMeycg7Ly9iycuZYhr5C9+/fx969e9UmTp8+rS6fO3fOVjPTuXPnWDs/ly9fHkWKFHH6mF5F+v3U/f/5gGSleC6RQURE5BKGJkC7du1CyZIl1SakGUouDx06VF2XuX6iJy53797FokWLnln786Jjep18Df5/iYwnnByRiIjIRQxtAqtRo4bqz/MsISEhMfbJPEAPHz6M8zG9jswBVG8UMLk6cGABUKE3kLm00VERERF5NTZSeoNMJYBi7fTLa4ZIL3CjIyIiIvJqTIC8Re2PgYAg4NxfwNHfjI6GiIjIqzEB8hbBWYCKffXLaz8Gwv+buJGIiIicwwTIm1R5V80SjVun9FFhREREFCdMgLxJwmRAnU/0y5u/AEKvGh0RERGRV2IC5G2kM7SMAgu7D6w338SIRERErsAEyNvILJcNPtMv750NXNhtdERERERehwmQN8pa9r9h8avel0VVjI6IiIjIqzAB8lbSFyhBEuDiLuDAfKOjISIi8ipMgLxV8oxAtYH65bXDgCehRkdERETkNZgAebMKfYCUOYD7V4At44yOhoiIyGswAfJmCYKA+mP0y9t+0OcHIiIiohdiAuTt8jcCctUAIsL0dcKIiIjohZgA+cJq8TIs3uIPHPsNOLnB6IiIiIg8HhMgX5CuAFCul3551YdAeJjREREREXk0JkC+osaHQOI0wI1jwPYfjY6GiIjIozEB8hWJUgL1RuqXN30G3DlvdEREREQeiwmQLyneHshWCXj6EFj9odHREBEReSwmQL7WIbrxV3qH6KMrgONrjI6IiIjIIzEB8jXpCwEVeuuXVw4Cnj4yOiIiIiKPwwTIVztEJ8sE3DkLbP3a6GiIiIg8DhMgX5QwGdBgrH5ZEqCbJ42OiIiIyKMwAfJVhZoBuWvrM0SvHAhomtEREREReQwmQL7cIbrRF4B/Qn126MNLjY6IiIjIYzAB8mWpcwNV3tUvrx4MPAk1OiIiIiKPwATI11XpD6TMCYReBv741OhoiIiIPAITIF+XIJHeFCa2TwAu7zM6IiIiIsMxATKDvHWBwi0ALQJY/hYQEW50RERERIZiAmQWDT4DgoL1GiAulkpERCbHBMgskqUH6o3SL28cA9w6bXREREREhmECZCYlOwE5qgLhj4AV73JuICIiMi0mQGabG6jJt/rcQKc2Avt/MToiIiIiQzABMuPcQDU++G9uoAc3jI6IiIgo3jEBMqNKbwPpiwCPbgFr/md0NERERPGOCZAZ+ScAmnwnbWJ6M9iJdUZHREREFK+YAJlVltJA+Tf1y9IhOuyB0RERERHFGyZAZlZrCBCcFbhzTh8aT0REZBJMgMwsYVLgla/1yzI54oVdRkdEREQUL5gAmZ0sk1GsLaBFAkt7A08fGx0RERGR2zEBIqDBp0DS9MCN48AfbAojIiLfxwSIgMSpgFe+0S//9T2bwoiIyOcxASJdgUZsCiMiItNgAkT/YVMYERGZBBMgenZT2PmdRkdERETkFkyA6NlNYcv6sCmMiIh8EhMgiolNYURE5OOYAFFMbAojIiIfxwSIHGwKe2R0RERERC7DBIgcawpb94nR0RAREbkMEyB6flNYs/H65b8nAic3GB0RERGRSzABohevFVa2p355aR/g4S2jIyIiInppTIDoxeqOBFLnAUIvA7+9B2ia0RERERG9FCZA9GKBiYGWkwGLP3BoMXBgodERERERvRQmQOSYzKWB6h/ol6UW6M55oyMiIiKKMyZA5Liq7wGZywBP7uoLpkZGGh0RERFRnDABIsf5B+hNYQkSA2e2ANt/NDoiIiKiOGECRM5JnRuoP1q/vH44cPWw0RERERF5VwK0efNmNGnSBJkyZYLFYsHSpUufe/+uXbuq+0XfChcuHOV+48ePR44cORAUFITy5ctjx44dbn4mJlO6G5C3PhARBizuBYQ/MToiIiIi70mAHjx4gOLFi6uExRHffvstLl++bNvOnz+PVKlSoXXr1rb7/PLLLxgwYACGDRuGPXv2qOPXr18f165dc+MzMRmLBWj6PZA4NXD1IGeJJiIir2NoAtSwYUOMGjUKLVq0cOj+wcHByJAhg23btWsXbt++jW7dutnuM27cOPTq1UvtK1SoECZOnIjEiRNj+vTpbnwmJpQsPdB8gn5Z+gIdX2N0REREROboAzRt2jTUqVMH2bNnV9fDwsKwe/dutc/Kz89PXd+2bZuBkfqofPWB8r31yzIq7N5loyMiIiJySAC81KVLl7Bq1SrMmTPHtu/GjRuIiIhA+vTpo9xXrh89evSZx3ry5InarO7du6f+j4yMVJsryfE0TXP5cQ1TexgsZ7fCcuUAtMWvQ+u4GPDzd8mhfa6s3Ihl5TiWleNYVs5heRlfVs4cz2sToJkzZyJFihRo3rz5Sx9r7NixGD58eIz90rwWHh4OV784oaGh6oWX2ilf4F97HFL80hSWM5vxcP1neFT6TZcc1xfLyl1YVo5jWTmOZeUclpfxZSXH9OkESApM+vR06tQJgYGBtv1p0qSBv78/rl69GuX+cl36DD3L4MGDVcdp+xqgrFmzImXKlEiePLnLX3QZuSbH9pk3SKpU0Bp9Acvyfki8fRwSFawLZCn70of1ybJyE5aV41hWjmNZOYflZXxZBQQE+HYCtGnTJpw4cQI9evSIsl+SodKlS2P9+vW2miEpZLner1+/Zx4vYcKEaotOXhR3nMTyorvr2IYp2RE4tRGWg4tgWdwTeHMrEBT80of1ybJyE5aV41hWjmNZOYflZWxZOXMsQ1+h+/fvY+/evWoTp0+fVpfPnTtnq5np3LlzrJ2fZX6fIkWKxLhNanKmTJmimsiOHDmC3r17q+H29iPFyE1D41/5GkiRDbhzDvi1P1eNJyIij2VoDZAMY69Zs6bturUZqkuXLggJCVFz/ViTIau7d+9i0aJFak6g2LRt2xbXr1/H0KFDceXKFZQoUQKrV6+O0TGa3EBqfF6dDkyvr68an6e2XjNERETkYSyadKihKKQPkMw5JMmWO/oA3bp1S03g6LNVpFvG6ctkyJphr/8BpM0fp8OYoqxchGXlOJaV41hWzmF5GV9Wznx/8xUi16vcH8hVA3j6EJjfGQh7YHREREREUTABIteTbL7lFCBpBuD6UWDFAPYHIiIij8IEiNwjaTqg1XTA4gfsnwfs+cnoiIiIiGyYAJH75KgM1PpYv7xyEHB5v9ERERERKUyAyP39gfLWAyKeAAu6AI/1ZUaIiIiMxASI3N8fqMUkIDgrcOsUsLwf+wMREZHhmACR+yVOBbQOAfwSAIeXATsmGx0RERGZHBMgih9ZygD1RuqX13wEXNhldERERGRiTIAo/pR/EyjYFIh8CizoCjy8ZXRERERkUkyAKH7XC2v2A5AyJ3D3PLCoBxAZYXRURERkQkyAKP7XC2v7MxCQCDi5AdgwyuiIiIjIhJgAUfzLUESvCRJbxwGHlxsdERERmQwTIDJG0VZAhb765aW9gevHjI6IiIhMhAkQGafucCB7FSDsPjDvNU6SSERE8YYJEBnHP4E+P1CyTMDNf/WaoMhIo6MiIiITYAJExkqaVu8U7R8IHF2h9wkiIiJyMyZAZLwspYFGX+qXZVTYiXVGR0RERD6OCRB5htJdgFJdAGjAwh7ArdNGR0RERD7M6QTo6NGjz7xtzZo1LxsPmVmjL4DMZYDHd4C57YEn7BRNREQekgCVKlUK48ePj7LvyZMn6NevH5o1a+bK2MhsAhICbWcBSTMA14/AsuQNzhRNRESekQCFhIRg6NChaNSoEa5evYq9e/eiZMmSWLduHbZs2eKeKMk8kmcC2s0B/BPCcnw1Em9np2giIvKABKhNmzbYt28fnj59isKFC6NixYqoXr069uzZg7Jly7ohRDJlp+hmei1j4j0TgQPzjY6IiIh8TJw7QYeFhSEiIkJtGTNmRFBQkGsjI3Mr1hpa5f7qomX528DF3UZHREREZk6A5s2bh6JFiyI4OBjHjx/Hb7/9hsmTJ6Nq1ao4deqUe6IkU9JqfYwnOWrDEvEEmNsBuHfZ6JCIiMisCVCPHj0wZswYLF++HGnTpkXdunVx4MABZM6cGSVKlHBPlGROFj/cr/cVtLQFgPtXgHkdgKePjI6KiIjMmABJX5/evXtH2ZcyZUrMnz8/xugwopelBSaD1m4ukCglcGkPsPwtQNOMDouIiMyWAOXPnx/h4eFq1NekSZMQGhqq9l+6dAktWrRwR4xkdilzAG1+AvwCgAMLgC3/P2s0ERFRfCVAZ8+eVX2AZM6fvn374vr162r/Z599hoEDB8Y1DqLny1kNaPj5f8tlHFhodERERGSmBOidd95BmTJlcPv2bSRKlMi2X2p/1q9f7+r4iP5TtgdQsZ9+eWkf4NzfRkdERERmSYBkssMhQ4YgMDAwyv4cOXLg4sWLroyNKKa6I4D8jQEZGTavPXCLIw+JiCgeEqDIyEg19090Fy5cQLJkyeIQApET/PyBV6cAGUsAD28Cs9sAj24bHRUREfl6AlSvXj188803tusWiwX379/HsGHD1PIYRG4XmATo8AuQPAtw81/gl05AeJjRURERkS8nQF999RX+/PNPFCpUCI8fP0aHDh1szV/SEZooXiTLoCdBgcmAM1uAX9/h8HgiInJYAJyUJUsWtRaYzAi9f/9+VfsjkyO+9tprUTpFE7ldhiJA6xBgThtg3xwgdS6g2iCjoyIiIl9MgNQfBQSgY8eOro+GyFl56wCNPgd+e08fHp8ih1pHjIiI6KUTIFn2wlFNmzZ1+L5ELlG2J3DrNLDtB2BpbyBpWiBXDaOjIiIib0+AmjdvHuW6dHzWovW3kH0ithFiRG5XdyRw7yJwaAkwryPQbSWQsZjRURERkTd3gpah79bt999/V4uerlq1Cnfu3FGbXC5VqhRWr17t/oiJYuPnBzSfCGSvAoSFArNbAbfPGh0VERH5Sh+g/v37Y+LEiahSpYptX/369ZE4cWK8/vrrOHLkiKtjJHJMgiCg3WxgRkPg2mHg51eBHr8DiVMZHRkREXn7MPiTJ08iRYoUMfYHBwfjzJkzroqLKG4SpQBeWwgkz6zPETS3HfD0kdFRERGRtydAZcuWxYABA3D16lXbPrk8aNAglCtXztXxETkvODPQcREQFAyc/xtY1BOIZN80IiJ6iQRo+vTpuHz5MrJly4Y8efKoTS7LRIjTpk1z9nBE7pGuINB+HuCfEDi6Alg5iBMlEhFR3PsAScIjEyCuXbsWR48eVfsKFiyIOnXq2EaCEXmE7JWAlpOBBV2BXdP02aOrv290VERE5K0TIUqiI2uCyUbk0Qo3B+5/Bqx6H9g4GkiUEijXy+ioiIjIGxOg9evXq+3atWtqaHz0JjIij1L+DeDBDWDz53pTmCRBRVsZHRUREXlTAjR8+HCMGDECZcqUQcaMGdnsRd6h5v+AR7eBnVOAJW8ACZMD+ViDSURkVk4nQDIHUEhICDp16uSeiIjcQRL1hp8Dj+8ABxYA8zsDnZYA2SsaHRkREXnDKLCwsDBUqlTJPdEQuX226AlA3npA+CNgTlvgygGjoyIiIm9IgHr27Ik5c+a4Jxoid/NPALSeCWSrCDy5C8xqCdw8aXRURETk6U1gjx8/xuTJk7Fu3ToUK1YMCRIkiHL7uHHjXBkfkesFJtbnCAp5Bbh6AJjVHOj+O5A8o9GRERGRpyZAMgeQLIYqDh48GOU2dogmr1oyQ2aLnl4fuH0a+KmZvoJ8kjRGR0ZERJ6YAG3cuNE9kRDFt2Tpgc7L9MVTbxwDfmoOdFnOxVOJiEzA6T5ARD4lZXag83IgSTq9OUxWkH98z+ioiIjIU2qAWrZs6dD9Fi9e/DLxEMW/NHn0mqCQxsClPcCcNnrzWGASoyMjIiKjE6Dg4GB3xUBkvPSF9HmBZjYFzm0D5rYDOswHEiQyOjIiIjIyAZoxY4Z7IyEyWqYSes2PjAo7vVmfLLHtbCAg0OjIiIjIxdgHiMhe1rJAh1+AgETAv78DC7sBEeFGR0VERC7GBIgouhxVgHazAf9A4OgKYMnrTIKIiHyMoQnQ5s2b0aRJE2TKlEnNIbR06dIX/s2TJ0/w0UcfIXv27EiYMCFy5MgRZQX6p0+fqsVac+fOjaCgIBQvXhyrV6928zMhn5OnNtDmJ8AvADi4SF9AlUkQEZF55wFypQcPHqgEpXv37g6PMmvTpg2uXr2KadOmIU+ePLh8+TIiIyNttw8ZMgQ///wzpkyZggIFCmDNmjVo0aIF/vrrL5QsWdKNz4Z8Tv6G+rIZC7oABxfq+1pMAvwNfdsQEZELGPpJ3rBhQ7U5SmpyNm3ahFOnTiFVKn2yOqkBsjdr1ixVQ9SoUSN1vXfv3mrZjq+++kolRkROKfhK1CRIZjtvPpFJEBGRl4vTp7gkGRMnTsTp06exbds21Rz1zTffIGfOnGjWrBncZfny5ShTpgw+//xzFUOSJEnQtGlTjBw5EokSJbI1kUnTlz25bevWrc88rvyNbFb37ukT4UnNkn3tkivI8TRNc/lxfZHHlFX+RkCrEFgWdoXlwAIVkyarykvzmIfwmLLyAiwrx7GsnMPyMr6snDme05/gEyZMwNChQ9G/f3+MHj0aERERan+KFClUEuTOBEhqfiSRkQRnyZIluHHjBvr06YObN2/ahunXr19fLcharVo11Q9o/fr1anJGa5yxGTt2LIYPHx5j/+3btxEeHu7yFyc0NFS98H5+7IPuNWWVriICG3yPZKvfguXgQjwJC8P9Ol8Cfv7wBB5VVh6OZeU4lpVzWF7Gl5Uc01EWTR7dCYUKFcKYMWPQvHlzJEuWDPv27UOuXLnUwqg1atRQSUlcSCdoSWrkuM9Sr149bNmyBVeuXLFNzCjJTatWrVR/IqnpuX79Onr16oVff/1VHVOSoDp16qiO0o8ePXK4Bihr1qwqAUqePDlc/aLLcVOmTMk3iDeW1dEVsCzsBktkOLQiraBJc5gHJEEeWVYeimXlOJaVc1hexpeVfH/LMe/evfvC72+na4Ck2Su2zsQyIkuSEHfKmDEjMmfOHGVW6oIFC6oM8sKFC8ibNy/Spk2rRpM9fvxY1QzJCLMPP/xQJWnPIrHLFp28KO44iSUxc9exfY3HlVWhpkDrEGBBV1UTZPGgjtEeV1YejGXlOJaVc1hexpaVM8dy+lGln8/evXtj7aAsyYg7Va5cGZcuXcL9+/dt+44fP66ecJYsWaLcV5rJJFmSJqxFixa5tWmOTKZgEz0JUkPkFwILuwLhYUZHRURETnA6ARowYAD69u2LX375RdW87NixQ/UFGjx4MN5//32njiWJjCRT1oRKapfk8rlz59R1OWbnzp1t9+/QoQNSp06Nbt264fDhw2oeoUGDBqlh9NZO0H///bdqFpP+QtJc1qBBA1XV5mxsRC9Mgtr+rE+WeORX4JfXgKexN7ESEZHncbrevmfPnirZkPl2Hj58qJISaWb69ttv0a5dO6eOtWvXLtSsWTNKciW6dOmCkJAQNcePNRkSSZMmxdq1a/HWW2+p0WCSDMm8QKNGjbLdR5q+JDZJgOT+MhxeRoxJJ20il88TJMtmzO2gL5shq8i3n8dV5ImIvIDTnaDtSQIktTjp0qWDL5FOVNLPyJFOVM6S2qhbt26peYzYRuwjZXXmTz35CbsPZK0AvLYACHLteeMzZeUBWFaOY1k5h+VlfFk58/3t9KNKbYs0VYnEiRP7XPJD5LQclYHOy4CgYOD8duCnpsDDW0ZHRURErkyAFixYoJagqFSpEn788cc4D3sn8ilZygBdVgCJUwOX/gFmNgHuXzc6KiIiclUCJPP+7N+/X8358+WXX6r+P40bN8acOXNUkxiRaWUsBnT9DUiaHrh6EAhpBNy7bHRUREQUizg1vBUuXFhNhigdjTdu3KjW45KZoTNkyBCXwxH5jnQFgW6rgORZgBvHgRkNgTv/deQnIiLP8NI9j2Q9LhkVFhgYiKdPn7omKiJvljo30G0lkDIHcPs0MK0+cO2o0VEREdHLJkDSCVrm/pGaIBmO/s8//6i1tGSJCiICkDK7XhOUtgAQegmY0QA4v9PoqIiIKK7zAFWoUAE7d+5EsWLF1ISE7du3VzMuE1E0yTPpSZAMkb+wUx8d1nYWkKeO0ZEREZme0zVAtWvXxoEDB1Stz8CBA5n8ED1P4lT6EPnctYGnD4E57YCDi4yOiojI9JxOgKTpS1aEJyIHyczQMkN04ZZA5FNgYQ9gxxSjoyIiMjWHmsBkiYqRI0eqDs/W5SqeZdy4ca6Kjch3BAQCr07Va4R2TgVWDgQe3gSqfyBLIhsdHRGR6TiUAElzl3WEl1wmojjw8wcafQkkTgNs+hT4Y6yeBDX4DOC0+UREnpcAyVw/sV0mIidJbU/NwfqM0asGATsm68tmNJ+g1xIREVG8cPpnZ/fu3REaGhpj/4MHD9RtROSA8q8Dr04D/AKAgwuBOa2Bx3eNjoqIyDScToBmzpyJR48exdgv+3766SdXxUXk+4q2Atr/AiRIApz6A5ghS2dcMjoqIiJT8HNmiXlZXl7TNFUDJNet2+3bt7Fy5UquDE/krLx1gG6/AUnS6euHTa0DXD1kdFRERD7P4YkQU6RIAYvForZ8+fLFuF32y2zQROSkTCWBnuuA2a309cOmNwDa/gzkqm50ZEREPsvhBEg6P0vtT61atbBo0SKkSpXKdpusA5Y9e3a1MjwRxXHpjO5rgHmvAef+An5+FWj+I1CsjdGRERGZOwGqXr26bR2wbNmyqRofInIhmSOo0xJg6ZvAoSXA4l7A3fNAlQGcK4iIyOhO0Bs2bMDChQtj7F+wYIHqIE1ELyFBEPDqdKBiP/36+hHAbwOAiHCjIyMiMncCNHbsWKRJkybGfukAPWbMGFfFRWReMili/dFAw8+ldx2wazrwy2vAk/tGR0ZEZN4E6Ny5c8iZM2eM/dIHSG4jIhcp/4a+enxAEHB8NTCjAXD3otFRERGZMwGSmp79+/fH2L9v3z6kTp3aVXERkSjYBOjyK5AkLXDlADClFnBxj9FRERGZLwFq37493n77bTUqLCIiQm3SL+idd95Bu3bt3BMlkZllLQf0XA+kKwTcv6JPmHhoqdFRERGZKwGSVeHLly+P2rVrI1GiRGqrV6+eGh7PPkBEbh4mn6cuEP4IWNAF2PwloGlGR0ZE5NvD4O3n/Pnll19UIiTNXpIAFS1aVPUBIiI3CkoOtJ8H/D4E+HsCsGEkcONfoOl3gF8Co6MjIvLtBMhKZoOObUZoInIj/wCg4adAmrzAykHA/nnA7TNAm1lxqdAlIjKtOCVAFy5cwPLly9Wor7CwsCi3jRs3zlWxEdGzlO0BpMoFzO8CnN8Oy7Q68G80CUhV3ujIiIh8MwFav349mjZtily5cuHo0aMoUqQIzpw5o5bJKFWqlHuiJKKYctfU1xCb0waW26cRvLAV0HIKUKCR0ZEREXk8p+vMBw8ejIEDB+LAgQMICgpS64KdP39eLZXRunVr90RJRLFLmw/otQFatkrwC7sPy7wO7BxNROSOBOjIkSPo3LmzuhwQEIBHjx4hadKkGDFiBD777DNnD0dELytxKmidluBR0Y6wQNM7R8soMc4cTUTkugQoSZIktn4/GTNmxMmTJ2233bhxw9nDEZEr+AfiQfXhiHzlG31E2OFlwLR6egdpIiJ6+QSoQoUK2Lp1q7rcqFEjvPfeexg9ejS6d++ubiMiA5XqAnRdASRJB1w7BEyuAZz6w+ioiIi8PwGSUV4yEaIYPny4mhBR5gXKkSMHpk2b5o4YicgZ2SoAr/8BZCoFPLoNzGoJbPuR/YKIiOI6CkyWvZAh8MWKFbM1h02cONGZQxBRfAjODHRbBazoD+ybC6wZrK8l9srXQIIgo6MjIvKuGiB/f3+17MXt27fdFxERuYYkOs0nAA0+BSz+wL45+oryd84bHRkRkfc1gcm8P6dOnXJPNETkWhYLUKE30GkxkCglcOkfYFI14MR6oyMjIvKuBGjUqFFqHqAVK1bg8uXLuHfvXpSNiDxQrhrA65uAjCWAR7eAn18FNn0OREYaHRkRkXfMBC0jv4TMBm2RX5f/T2aCluvST4iIPHhF+dUfALtDgI2jgQs7gRaT1FxCRERm4nQCtHHjRvdEQkTx0y+oybdAlnLAbwOAf38HJlfXF1PNVMLo6IiIPCsBatmyJUJCQpA8eXKcPXsWbdu2RcKECd0fHRG5R8nXgAxFgfmd9MkSZdLExl8CpfRZ3omIfJ1DfYCkv8+DBw/U5W7duuHu3bvujouI3C1jMb1fUL6GQMQTYPlbwLJ+wNPHRkdGROQZNUAFChRQi6DWrFlT9fWZP3++qg2KjXWdMCLyAolSAO3mAFvH6X2C/pkFXN4LtJ4JpM5tdHRERMYmQDLZ4YABA/Dbb7+pjs5DhgyJ0gHaSvYxASLyMn5+QLWBQObSwKIe+oSJMlRe+goVbWV0dERExiVAlSpVwvbt29VlPz8/HD9+HOnSpXNPRERkjNw1gTf/BBb1BM5u1ZOhM1v0iRQTJDI6OiIiY+cBOn36NNKmTevaKIjIMyTPCHReBlR7X+p09eHyU2oD148bHRkRkbEJUPbs2dVq8B07dkTFihVx8eJFtX/WrFm2VeKJyIv5BwC1PgI6LbFbVb46sHeu0ZERERmXAC1atAj169dHokSJ8M8//+DJkydqv4wMGzNmjOsiIyIPaBLbCuSsDjx9CCx9E1jaBwjTR4QSEZluKQzpFD1lyhQkSJDAtr9y5crYs2ePq+MjIiMlS6/XBNX8CLD4AXtnA5NrAlcPGx0ZEVH8JkDHjh1DtWrVYuwPDg7GnTt3Xi4aIvI8fv5A9feBLr8CyTICN44Bk2sAf0+WNXCMjo6IKH4SoAwZMuDEiRMx9kv/n1y5csUtCiLyfDmq6E1ieevpEyeuGgTMaQvcv250ZERE7k+AevXqhXfeeQd///23mvfn0qVLmD17tlohvnfv3s5HQETeI0kaoMN8oOHngH9C4N81wIRKwL/rjI6MiMi9i6F++OGHiIyMRO3atfHw4UPVHCbrgkkC9NZbbzl7OCLyNjIJavk39BqhhT2A60eA2a8CFfoAtYfpC64SEflaDZDU+nz00Ue4desWDh48qCZIvH79OkaOHIlHjx65J0oi8jzpCwOvbwTKva5f3/4jMLU2cO2o0ZEREbk+AbIKDAxEoUKFUK5cOTUabNy4cciZM2dcD0dE3khmiG70hd4sljgNcPWgPmfQzqnsIE1EvpEAyXw/siBqmTJl1NIYS5cuVftnzJihEp+vv/4a7777rjtjJSJPla8+0PsvIE8dIPwx8Nt7wJw2QOgVoyMjInq5BGjo0KGYMGECcuTIgTNnzqB169Z4/fXXVeIjtT+y74MPPnD0cETki3MGdVgA1B/7/x2kfwd+rAgc0n8sERF5ZSfoBQsW4KeffkLTpk1V359ixYohPDwc+/bti3VleCIy6cryFfsAuWoAS94AruwHFnQBjrYBGn0OJEppdIRERM7VAF24cAGlS5dWl4sUKaJGfkmT18skP5s3b0aTJk2QKVMmdRxrs9qLmuKkE7asSSYxSI3U9OnTo9znm2++Qf78+dVyHVmzZlVxPn78OM5xEpGT0hcCeq4Hqg3SZ5A+MB/4sRJwcoPRkREROVcDFBERoTo+WwUEBCBp0qR4GQ8ePEDx4sXRvXt3tGzZ0qG/adOmDa5evYpp06YhT548uHz5shqWbzVnzhw1VF+SIumrdPz4cXTt2lUlWNJUR0TxJCAQqDUEyFtfrw26dRKY1UIfNVZnOBCY2OgIicjEHE6ANE1TiYTUugipUXnzzTeRJEmSKPdbvHixww/esGFDtTlq9erV2LRpE06dOoVUqVKpfVIDZO+vv/5S65J16NDBdnv79u3VxI1EZICsZYE3twBrhwE7pwA7Jus1QS0mA1n0WmUiIo9NgLp06RLleseOHRHfli9frkahff7555g1a5ZKvqRPksxBJM1dQmp9fv75Z+zYsUMN0ZdkaeXKlejUqdNzm9Wsq9qLe/fuqf+lZsm+dskV5HiSTLr6uL6IZeVDZRWQSJ89Ol8DWJa/BcvNE9Cm1QUqvQWt+gdAQPxNnujxZeVBWFbOYXkZX1bOHM/hBEiGuxtNkhlZcywoKAhLlizBjRs30KdPH9y8edMWn9T8yP4qVaqowpWO2lJT9b///e+Zxx07diyGDx8eY//t27fV37v6xQkNDVWx+UmHUXomlpUPllXKErC0XYEkmz9B0PHlwJ/fIOLwCtyv/SnCM5SMlxC8pqw8AMvKOSwv48tKjukoiyaP7gGkj44kNc2bN3/mferVq4ctW7bgypUravV5a5Nbq1atVH8iqQX6448/0K5dO4waNQrly5dXC7fK2mWyhtnHH3/scA2QdJ6WBCh58uQuf9HluClTpuQb5AVYVj5eVkd/g+W3AbA8uAZNOkqX7wOt5v/0yRXdyCvLyiAsK+ewvIwvK/n+lmPevXv3hd/fTq8FZqSMGTMic+bMtuRHFCxYUGWQMkotb968KsmR5q6ePXuq24sWLaqSI5mzSEaPxVbQ0q/J2rfJntzXHSexJHvuOravYVn5cFkVagLkqAysHgzL/nnA9h9gOb4KaDYeyF7RrQ/tdWVlIJaVc1hexpaVM8fyqldIOjfL6vP379+37ZNRXvKEs2TJoq7LAq3RC8Df31/97yGVXURklTgV0HIS0P4XIFlGfaTYjIbAqg+AsAdGR0dEPszQBEgSmb1796pNnD59Wl0+d+6cui5Lb3Tu3Nl2f+nfkzp1anTr1g2HDx9W8wgNGjRIDaO3doKWeYVkxup58+ap461du1bVCsl+ayJERB4mfwOgz3agpAyu0IC/JwITKgGntxgdGRH5KEObwHbt2oWaNWvarg8YMMA24iwkJETN8WNNhoTMOyQJzVtvvaVGg0kyJPMCSX8fqyFDhqhqNfn/4sWLSJs2rUp+Ro8eHc/PjoickiiF3vxVuAWw/B3g9hlg5itAmR5A3eFAwmRGR0hEPsRjOkF7EulEJf2MHOlEFZeOX7du3VLzGLGN+PlYViYuq8f3gLVDgd3/P/o0OCvQ+Ct90dWX5HNl5UYsK+ewvIwvK2e+v/kKEZHnCUoONPkG6LwcSJEduHteX11+QVcg9KrR0RGRD2ACRESeK1d1oM82oNLbgMUfOLQE+KEssGuG/IQ0Ojoi8mJMgIjIswUmAeqNBF7/A8hUEnhyF1jRXx8tdu2o0dERkZdiAkRE3iFjMX2F+QafAgmSAOe3AxOrABtGA08fGx0dEXkZJkBE5D38/IEKvYG+f6t1xRD5FNj8OTCxMofME5FTmAARkfdJkRVoPw9oPRNImh64eUIfMr+sL/DwltHREZEXYAJERN7JYgEKNwf67gDKdNf3/fMz8H1pYPdMdpImoudiAkRE3j+B4itfA93XAOkKAY9uAb++DUyrC1zSZ5knIoqOCRAR+YZsFYA3NgP1xwCBSYGLu4ApNYHfBgKP7hgdHRF5GCZAROQ7/BMAFfsC/XYBRVoBWiSwcwrwQxlg71xZEdnoCInIQzABIiLfkzwj0GqaPpN0mnzAg+vA0jf1uYOuHjI6OiLyAEyAiMi3Z5J+80+gznAgQWLg3DZYJldHki2jgCf3jI6OiAzEBIiIfFtAIFClP9BvJ1CoGSxaBBLtmwHL+HLA3jkcLUZkUkyAiMgcgrMAbX5CZIeFiAjOAcv9q8DS3sC0OsD5nUZHR0TxjAkQEZlLntq43WElIqVZLDAZcHG3ngQtfgO4d8no6IgonjABIiLz8U+orzD/1m6gZEeZVRHYPw/4vgyw+UuuLUZkAkyAiMi8kqUHmo0Hem0AspYHnj4ANowExpcFDi/jsHkiH8YEiIgocyl9JulXpwHJMgF3zgHzOwMzmwBXDhodHRG5ARMgIiLr2mJFWwFv7QKqvQ8EBAFntgCTqgK/vgPcv2Z0hETkQkyAiIjsBSYBan2kD5sv3EKfTXp3CPBdSWDTF0DYQ6MjJCIXYAJERBSbFNmA1iFAt1VAplJA2H1g4yjg+1LAP7OByAijIySil8AEiIjoebJXAnqu1/sHBWcDQi8Dy/oAk6oBJzcYHR0RxRETICKiF/Hz0/sHSbNY3ZFAwmDg6kFgVgvg51eBq4eNjpCInMQEiIjIUQmCgMpvA+/sBcr3BvwSACfWARMrA8vfAkKvGB0hETmICRARkbMSpwIafgr0/Rso2FTvKL3nJ72j9IZRwOO7RkdIRC/ABIiIKK5S5wbaztLnEMpSFnj6ENj8BfBtceCv7zmjNJEHYwJERPSyslUAeqwF2swC0uQDHt0Gfh+ijxjbMwuICDc6QiKKhgkQEZGrJlIs1BTovQ1o+gOQPDNw7yKwvB8woSJweDmX1iDyIEyAiIhcyT8AKNUJeGsPUG80kCglcOM4ML8TMLU2cGqT0RESERMgIiI3jhir1A94Zx9QbRCQIDFwcTfwU1Pgp+bAxT1GR0hkakyAiIjcKSgYqDVET4TKva4PnT+1EZhSE5j3GhdbJTIIEyAioviQNB3Q6At9MsVibaXTEHB0hT6H0PwuwLWjRkdIZCpMgIiI4lOqnEDLyfocQrLYqji8FPixArCoF3DjhNEREpkCEyAiIiOkza8vttr7L6DAKwA04MB8YHw5YGkf4PYZoyMk8mlMgIiIjJS+MNBuNvD6JiBfA0CLAPbOBr4vDfz6DnDnvNEREvkkJkBERJ4gUwmgwy/6yvO5awOR4cDuEH0yxRXvAnfOGR0hkU9hAkRE5EmylAE6LQa6rQZyVAUiwoBd0/V1xpb1A26dMjpCIp/ABIiIyBNlrwh0XQF0/Q3IWV2vEfpnFvB9GWDxG8CNf42OkMirMQEiIvJkOaoAXZbra43lqav3Edo/D/ihLLCwO3D1sNEREnklJkBERN4gazmg40Kg10YgfyN91NjBRfo6Y790BC7vMzpCIq/CBIiIyJtkLgW0nwu8uRUo1EyfUPHIr8CkasCctsCF3UZHSOQVmAAREXmjDEWBNj8BfbYDRVsDFj/g+Gpgai1gVgvg9GauPk/0HEyAiIi8WboCwKtTgb47gRKvARZ/4OQGYGYTYEot4PByIDLS6CiJPA4TICIiX5AmD9D8R+DtPUDZXkBAEHBpDzC/kz679J6fgPAnRkdJ5DGYABER+ZKUOYDGXwL9DwLVBumr0d/8F1j+FvBtceDP74AnoUZHSWQ4JkBERL4oaVqg1hDg3UNAvVFAsoxA6GVg7cfA14WB9SOA+9eMjpLIMEyAiIh8WcJkQKW3gHf2AU1/AFLnBR7fBbZ8BXxTFFgxALh12ugoieIdEyAiIjMISAiU6gT03QG0/RnIXBoIfwzsmqavNza/C3B+p9FREsUbJkBERGbi5wcUbKIvutplhb7wqhYJHF4KTKsDTKsHHF4GREYYHSmRWwW49/BEROSRLBYgZ1V9u3oI2PYjcGA+cP5vfUuRHSjfG5bsDQGkMjpaIpdjDRARkdmlLww0H//fyLFEqYA7Z+G35kOkDKkCy7phwN2LRkdJ5FJMgIiISJcs/X8jxxqPg5Y6D/zCQmH56zvg22LAop7Apb1GR0nkEkyAiIgoqsDEQNke0Pr8jbuNp0DLURWIDAcOLAAmVwdmNAaO/sZ+QuTV2AeIiIhiZ/HD05y1oJVuBcuV/cD2H/UV6M9u1bcU2YCyPYGSnYDE7CdE3oU1QERE9GKZSgAtJwP9DwBV3gUSpQTunAPWDgXGFQKWv613pibyEkyAiIjIcckzAXU+AQYc0SdWTF8UCH8E7JkJTKgEhLyiL8AaEW50pETPxSYwIiJyXoJE+sSKJTsC57YBf08EjqwAzmzRt+Csqh8RSnVh8xh5JENrgDZv3owmTZogU6ZMsFgsWLp06Qv/5smTJ/joo4+QPXt2JEyYEDly5MD06dNtt9eoUUMdK/rWuHFjNz8bIiKTzieUvRLQ5ieg/36gygB9GP3d88C6T4BxBYFl/YArB4yOlMhzaoAePHiA4sWLo3v37mjZsqVDf9OmTRtcvXoV06ZNQ548eXD58mVERkbabl+8eDHCwsJs12/evKkeo3Xr1m55DkRE9P+CswB1hgHVP9A7S0utkHSe/meWvmUpp9cKFWoOJAgyOloyOUMToIYNG6rNUatXr8amTZtw6tQppEqlV6lKDZA9636refPmIXHixEyAiIjiiyQ3JV8DSnTQZ5VWzWO/Ahd26NvqwfrtpbsBqXMbHS2ZlFf1AVq+fDnKlCmDzz//HLNmzUKSJEnQtGlTjBw5EokSJYr1b6SmqF27duq+z2tWk83q3r176n+pWbKvXXIFOZ6maS4/ri9iWTmOZeU4llU8l5XU+sgWegX452dY9oTAcu8i8Nf3atNy1YJWphuQrwHg51VfSTHw3DK+rJw5nledbVLzs3XrVgQFBWHJkiW4ceMG+vTpo5q5ZsyYEeP+O3bswMGDB1US9Dxjx47F8OHDY+y/ffs2wsPDXf7ihIaGqhfeTxYlpGdiWTmOZeU4lpVRZRUIFOkOFOqCwLN/IOjgbCQ4uxmWUxvUFpEkAx4XbosnhdogMmkGeCOeW8aXlRzTURZNHt0DSEdlSWqaN2/+zPvUq1cPW7ZswZUrVxAcHGzr89OqVSvVnyh6LdAbb7yBbdu2Yf/+/c997NhqgLJmzaoSoOTJk8PVL7ocN2XKlHyDvADLynEsK8exrDyorG6fgWV3CLD3Z1ge3lS7NIs/kL8RNGkey1VdTcboLXhuGV9W8v0tx7x79+4Lv7+9qgYoY8aMyJw5sy35EQULFlQZ5IULF5A3b17bfkmIpP/PiBEjXnhcGU0mW3TyorjjJJZkz13H9jUsK8exrBzHsvKQskqdC6g3Aqj1kT530K7psJz7Czj6KyxHfwVS5tBnmS7xGpA8I7wBzy1jy8qZY3nVK1S5cmVcunQJ9+/ft+07fvy4esJZsmSJct8FCxaoWp2OHTsaECkRETksICFQrDXQfRXQextQtheQMLmqIcKGkcDXhYG57YFjqzjBIrmMoQmQJDJ79+5Vmzh9+rS6fO7cOXV98ODB6Ny5s+3+HTp0QOrUqdGtWzccPnxYzSM0aNAgNYw+evOX9PuR5jS5PxEReYn0hYDGXwLvHQWaTwCyVQS0CODYSmBuO+CbIsD6kcCt00ZHSl7O0ARo165dKFmypNrEgAED1OWhQ4eq6zLHjzUZEkmTJsXatWtx584dNRrstddeUxMpfvfdd1GOe+zYMdVZukePHvH8jIiIyCUCk+jD6LuvBvruACr2AxKnBkIvA1u+BL4rAcxsChxYCIT/14eTyOs6QXsS6UQl/Ywc6UQVl45ft27dUvMVsY34+VhWjmNZOY5l5cVlFR6m1wTt+Qk4uUG6TOv7ZWHW4u2BUp2BdAUNC8/jysuDRbqprJz5/vaqTtBERGRiAYFA4eb6dvsssHe2mlsIMq/Q9h/1TeYckvXJ5D5B/w2YIYqOKSoREXmflNmBmv8D+h8AOiwACryiT6QoM03/+jbwZT5gUU+9pigywuhoyQOxBoiIiLyXnz+Qr56+hV4F9s3Vt+tHgQML9C1ZJqB4O71PUZr/pkshc2MNEBER+YZk6YEq/YE+24FeG/Th9EEpgNBLwNZxwA9lgKl11HxDeHTH6GjJYKwBIiIi32KxAJlL61v90fr8QVIr9O9a4MJOfVv1IVCgsT7JYu6aek0SmQoTICIi8u1JFq0dp6WJ7MB8YO8c4Nph4NBifUuWESjWRh9JZuAoMopfTICIiMg8TWSV3tLnFLq8T0+EpI+QzC3057f6lqEoULQNULQVkDyT0RGTGzEBIiIi8zWRZSqhb/VGAf+u0ZMhaSK7ckDf1g4FclbVk6FCTTmk3gcxASIiInPPLVSwib49vAUcWqLXCp3bBpzerG+/vQfkbwAUawvkqav/DXk9JkBEREQicSqgbA99k4kWrcPoZUj94WX6JqPKpD+RJENZK8jy40ZHTXHEBIiIiCi2iRarDQSqvqc3ie3/BTi4SO8vtDtE34KzAkVb65ss4kpehQkQERHR8/oLZSymb3VHAGe2APsXAEeWA3fP6/MLyZa2IFC4Bfwy1wJSpTI6anIAEyAiIiJHyFxBuWroW+MvgeOr9WToxFrg+hH4/XEEqTAGWoZiQJGWQOGWek0SeSQmQERERM5KkEjV+KhNZpU+thLagYXA6U2wXNkPyLbuEyBzmf9PhlpwWL2HYQJERET0MhKlUOuMacXa4fbFE0h5ZSv8Di8BzmwFLu7StzUfAdkq6slQoeZA0rRGR216TICIiIhcREuUCijdFSjbXZ95WkaOyWzTMqz+3F/6tup9IEdVPRmSVeyTpDE6bFNiAkREROSumafLv65vdy8Ah5bqI8ku7VFNZWpb8S6QvTJQqJk+F1GyDEZHbRpMgIiIiNwtOAtQqZ++3Tqt1wpJ7ZAsySEjy2RbOQjIWv6/ZChFVqOj9mlMgIiIiOJTqpz6/EKy3T4DHF6uD6uXVerPb9e3NYP11ewLNtWX4kiVy+iofQ4TICIiIqOkzAFUflvf7l4EjvyqJ0Nn/wIu7ta3dcP0RVoLNtOTobT5jY7aJzABIiIi8gTBmYEKb+qbdKA+ukJvJpPRZNZFWjeOAtIW+K9mKH0RfbJGchoTICIiIk/sQG1dl+zBTeDYb3pT2ak/9LXJZNv8OZAiG5C/MVCgsT7M3p9f645iSREREXmyJKmBUp31TSZdlBmopWbo5Abgzjng7wn6liglkK8BkL8RkKc2EJjE6Mg9GhMgIiIib5p0sXg7fQt7AJzcCBz9TU+KHt0C9s3Vt4AgfckOqRnK15ATL8aCCRAREZE3khqegq/oW0S4Pnrs6Eq979Cds3pSJBss+vB6SYZkS53b6Mg9AhMgIiIibyd9f3JU0bf6o4Frh/WaIdku7/1veP3aj/VO1Pkb6clQplKAnx/MiAkQERGRL5FRYekL61v19/VZqI+t0pMhmXDR2ol66zggSVogbz19y10LCEoOs2ACRERE5OuzUJfrpW/SifrEOr2Z7MR64MF1YO9sffNLAGSvpHekzlff55vKmAARERGZqRN10Vb6FvFUX6T1+Bq9r9DNE/+tUSYzUafOqydCkhBlqwD4J4AvYQJERERkRv4JgJzV9E36Dd04AfwrydAa4OyfwM1/gW2y/QAkDNaH1ksylKeOPjTfyzEBIiIiIiBNHn2r2Bd4fFcfYi/JkCRFD2/qC7jKZvEDspTV+w1JMpShmFd2pGYCRERERFEFBQOFm+tbZARwcc//D6tfA1w9AJz/W982jASSpNNrhyQZko7UiVPBGzABIiIiomfz8weyltW32h/ro8okEZJO1NJf6MG1/yZglNohWcVekqE8dYFMJfS/90BMgIiIiMi5UWXWdcrCw/T5hf5dqydE1w4BF3bq2x9jgUSp7GqHanvUjNRMgIiIiChuAgL/60hdbyRw9yJwcr2eEMnCrbI8x4EF+iYylgDy1gVySVNZLhiJCRARERG5RnDm/xZulWH2UhMk8w5JQnRlvz4r9eW98Nv8BVIGZwfe/gdGYQJERERE7hlmLxMrylZ7KBB61VY7pJ3cgKfpiiFQZq02CBMgIiIicr9k6YESHdSmhT/FgytnEQjjeN/AfSIiIvJufv7QglIYG4Khj05ERERkACZAREREZDpMgIiIiMh0mAARERGR6TABIiIiItNhAkRERESmwwSIiIiITIcJEBEREZkOEyAiIiIyHSZAREREZDpMgIiIiMh0mAARERGR6TABIiIiItMJMDoAT6Rpmvr/3r17Lj92ZGQkQkNDERAQAD8/5p/Pw7JyHMvKcSwrx7GsnMPyMr6srN/b1u/x52ECFAt5UUTWrFmNDoWIiIji8D0eHBz83PtYNEfSJBNmppcuXUKyZMlgsVhcemzJTiWxOn/+PJInT+7SY/salpXjWFaOY1k5jmXlHJaX8WUlKY0kP5kyZXphzRJrgGIhhZYlSxa3Poa84HyDOIZl5TiWleNYVo5jWTmH5WVsWb2o5seKjZRERERkOkyAiIiIyHSYAMWzhAkTYtiwYep/ej6WleNYVo5jWTmOZeUclpd3lRU7QRMREZHpsAaIiIiITIcJEBEREZkOEyAiIiIyHSZAREREZDpMgF7S+PHjkSNHDgQFBaF8+fLYsWOHQ383b948Nct08+bNo+yXPulDhw5FxowZkShRItSpUwf//vsvfIWry6tr165qv/3WoEEDmK2sQkJCYpSD/J1Zzi1XlxXPq//cuXMHffv2VeeNjNjJly8fVq5c+VLHNGtZffLJJzHOqwIFCsBsZVWjRo0Y5SBb48aN4/fzSkaBUdzMmzdPCwwM1KZPn64dOnRI69Wrl5YiRQrt6tWrz/2706dPa5kzZ9aqVq2qNWvWLMptn376qRYcHKwtXbpU27dvn9a0aVMtZ86c2qNHjzRv547y6tKli9agQQPt8uXLtu3WrVua2cpqxowZWvLkyaOUw5UrV0xxbrmjrHhe6Z48eaKVKVNGa9SokbZ161b1Xvzjjz+0vXv3xvmYZi6rYcOGaYULF45yXl2/fl3zdvOcLKubN29GKYODBw9q/v7+6r0Zn59XTIBeQrly5bS+ffvarkdERGiZMmXSxo4d+8y/CQ8P1ypVqqRNnTpVfcjaf6FHRkZqGTJk0L744gvbvjt37mgJEybU5s6dq3k7V5eXiG2fL3C2rOSDQz4snsWXzy1Xl5XgeaWbMGGClitXLi0sLMxlxzRzWUkCVLx4cc3XlHvJc+Drr7/WkiVLpt2/fz9eP6/YBBZHYWFh2L17t6qWs19DTK5v27btmX83YsQIpEuXDj169Ihx2+nTp3HlypUox5Q1TaQ68XnHNGt5Wf3xxx/qPvnz50fv3r1x8+ZNmLGs7t+/j+zZs6sFBps1a4ZDhw75/LnljrKy4nkFLF++HBUrVlTNOunTp0eRIkUwZswYRERExPmYZi0rK2nGkYU6c+XKhddeew3nzp2DNwtzwTkwbdo0tGvXDkmSJInXzysmQHF048YNdWLLiW5PrssLF5utW7eqF3rKlCmx3m79O2eOaebyEtIv46effsL69evx2WefYdOmTWjYsGGMDx1fLyv5kp4+fTqWLVuGn3/+GZGRkahUqRIuXLjg0+eWO8pK8LzSnTp1CgsXLlR/J31ZPv74Y3z11VcYNWpUnI9p1rIS8gUufdBWr16NCRMmqC/6qlWrqtXLvdWNlzwHpK/QwYMH0bNnT9u++Pq84mrw8URO8E6dOqkv8zRp0hgdjs+Ul/xqsCpatCiKFSuG3Llzq1/vtWvXhlnIL0/ZrOQLvWDBgpg0aRJGjhxpaGzeWFY8r3SSHEot2OTJk+Hv74/SpUvj4sWL+OKLL9QyBuRcWUkSbSXnlCREUhM5f/7859Zy+7Jp06ap91i5cuXi/bGZAMWRfCnLSX716tUo++V6hgwZYtz/5MmTOHPmDJo0aRLlDSMCAgJw7Ngx29/JMaTnu/0xS5QoAW/mjvKSL6TopFpZHuvEiRNe+0XlbFnFJkGCBChZsqQqB+Gr55Y7yio2Zj2v5FyR8pG/s5JkUX6FS9OHK8rfLGUVGBgY429SpEihRoo979zzdGle4hx48OCBGuErXR3sxdfnFZvA4khOZsnwpYrc/gtartv/urSSoY4HDhzA3r17bVvTpk1Rs2ZNdVn6IuTMmVO98PbHvHfvHv7+++9Yj2n28oqNNGNIXw37N42vl1VspEpays9aDr56brmjrGJj1vOqcuXK6svZ+uNDHD9+XJWDHM8V5W+WsnpWXzT5sWe288pqwYIFePLkCTp27Ah78fZ55bLu1CYkQ/+kV3pISIh2+PBh7fXXX1dD/6xDajt16qR9+OGHTo00kaF/coxly5Zp+/fvV7f7wlBld5RXaGioNnDgQG3btm1qyOm6deu0UqVKaXnz5tUeP36smamshg8frq1Zs0Y7efKktnv3bq1du3ZaUFCQGpLq6+eWq8uK59V/ZXXu3Dk1Oqdfv37asWPHtBUrVmjp0qXTRo0a5fAxvZU7yuq9995TQ+PlvPrzzz+1OnXqaGnSpNGuXbummfGzvUqVKlrbtm1jPWZ8fF4xAXpJ33//vZYtWzY1B4IMBdy+fbvtturVq6svbWcSIBn+9/HHH2vp06dXJ1Tt2rXVm8lXuLK8Hj58qNWrV09LmzatliBBAi179uxq/glv/+CNS1n179/fdl85d2Qukj179pjm3HJlWfG8ivoe/Ouvv7Ty5curc0aGeY8ePVpNT+HoMb2Zq8tKvuwzZsyojidzm8n1EydOaGYsq6NHj2pSB/P777/Herz4+LyyyD+uq08iIiIi8nzsA0RERESmwwSIiIiITIcJEBEREZkOEyAiIiIyHSZAREREZDpMgIiIiMh0mAARERGR6TABIiKP9sknn3jUemUWiwVLly51+u+s6/25e+VvWZ1bFuW0X92eiGJiAkREmDhxIpIlS4bw8PAo6xTJ4o41atSIcl9ZEV2SAFnDyJe5OvEaPHgw3nrrLVXO7l6csnPnzlytnegFmAARkVpkVhKeXbt22fZt2bJF1VjIAoSPHz+27d+4cSOyZcuG3LlzGxSt9zl37hxWrFiBrl27xsvjdevWDbNnz8atW7fi5fGIvBETICJC/vz51YrUUrtjJZebNWumVmbevn17lP2SMIlZs2ahTJkyqlZDkqUOHTrg2rVrthWhs2TJggkTJkR5rH/++Qd+fn44e/asun7nzh307NkTadOmRfLkyVGrVi3s27fvufFOnToVBQsWRFBQEAoUKIAff/zRdtuZM2dUDdXixYtVnIkTJ0bx4sWxbdu2KMeYMmUKsmbNqm5v0aIFxo0bhxQpUqjbQkJCMHz4cBWHHEs22WffzCR/I3+bN29eLF++/Lnxzp8/X8WQOXPm59YwffPNN8iRI4ftuiRMzZs3x5gxY5A+fXoV34gRI1RN3aBBg5AqVSpVxjNmzIhynMKFCyNTpkxYsmTJc+MiMjMmQESkSLIgtTtWclmav6pXr27b/+jRI1UjZE2Anj59ipEjR6pEQfrFSPJhreWQJKd9+/aYM2dOlMeRmonKlSsje/bs6nrr1q1V0rRq1Srs3r0bpUqVQu3atZ9ZeyF/P3ToUIwePRpHjhxRycHHH3+MmTNnRrnfRx99hIEDB2Lv3r3Ily+fisXaxPfnn3/izTffxDvvvKNur1u3rjqeVdu2bfHee++pROLy5ctqk31Wkhy1adMG+/fvR6NGjfDaa689t7ZFatMkUYyLDRs24NKlS9i8ebNK0qRp65VXXkHKlCnVayHP44033ojR56dcuXLqcYnoGVy6tCoRea0pU6ZoSZIk0Z4+fardu3dPCwgI0K5du6bNmTNHq1atmrrP+vXr1QrOZ8+ejfUYO3fuVLeHhoaq6//8849msVhs94+IiFCrYE+YMEFd37Jli5Y8eXLt8ePHUY6TO3dubdKkSerysGHDtOLFi0e5TWKyN3LkSK1ixYrq8unTp1UMU6dOtd1+6NAhte/IkSPquqzC3bhx4yjHeO2117Tg4GDb9eiPayXHGTJkiO36/fv31b5Vq1Y9s2zlOCNGjIiyL7bjf/3112r1eStZQVuuS7lZ5c+fX6tatartuqw2Lq/b3Llzoxzr3Xff1WrUqPHMmIjMjjVARKRIbc+DBw+wc+dOVXMgtSbSLCU1QNZ+QNL8lStXLtUHSEiNTZMmTdR1aQaT+1r7vAhp4pGmKmst0KZNm1Rtj9T6CKk5kr5HqVOnRtKkSW3b6dOnY+1kLfHJ/h49ekS5/6hRo2Lcv1ixYrbL0rwnrM1zMiJLakjsRb/+PPbHTpIkiWq6sx47NlJzJs11cSG1UFKbZiVNYUWLFrVd9/f3V+UX/fETJUqEhw8fxukxicwgwOgAiMgz5MmTR/Unkeau27dv25IZ6UsifWX++usvdZv00bEmI/Xr11ebNEtJsiSJj1wPCwuzHVeahyQB+vDDD9X/DRo0UF/YQpKf6H2PrKz9cezJ/a39d8qXLx/lNkkE7MkINivpw2Ptl+QK9se2Hv95x5aRWVKmLxIREeHQYzny+NIkJ68JEcWOCRAR2UjfHklG5MtaOtlaVatWTfXR2bFjB3r37q32HT16FDdv3sSnn36qEiRhP4rMSjpGDxkyRNUWLVy4UA25t5L+PleuXEFAQECUzr/PIrUfkpCdOnVKJVYv0+lbarrsRb8eGBgYa0ISFyVLlsThw4dj7L969WqU6/K8XOXgwYMxpjAgov+wCYyIoiRAW7duVR2DrTVAQi5PmjRJ1exYO0BLs5ckCd9//7364paRUNIhOjpJbCpVqqSarSShaNq0qe22OnXqoGLFimqk0++//646UUtNk3Rgji2ZsnZAHjt2LL777jscP34cBw4cUKOgpIOwo2Q+npUrV6q/+ffff9VzkwTPWlNkjVua4qQsZNTXkydPHD5+dFIrJqPQoidUkvzJqC4pv0WLFqlRdZJ8SnL5MqTpSxLOevXqvdRxiHwZEyAispHkRvqrSHOY1LbYJ0Ayg7F1uLyQ5hUZGr5gwQIUKlRI1QR9+eWXsR5Xamukv48MHZe+KVaScEgiIjVMMneN9Dtq166dGiJv//j2ZMi8DIOXpEf6wkhsEocM13eUjEKTmihJgGR4+urVq/Huu+9G6afz6quvquY6KRN5rnPnzkVcNWzYUNVyrVu3Lsr+IkWKqCRO+vnISDZ5XpJUyui1l7Fs2TKVoFatWvWljkPkyyzSE9roIIiIjNarVy9V8+KuoePjx49XtWRr1qyxzQMkUwdIDZOrVahQAW+//bZqfiSi2LEPEBGZktRWyfw/MopLmr9kHiH7CRVdTebqkUkfpSbNncthSHNdy5Yt1bxHRPRsrAEiIlOSiQylw7ckJDK0X/oFyaSC8cWdNUBE9GJMgIiIiMh02AmaiIiITIcJEBEREZkOEyAiIiIyHSZAREREZDpMgIiIiMh0mAARERGR6TABIiIiItNhAkRERESmwwSIiIiITOf/AOwG2OwXDRt5AAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "glass = Material(\"N-SF5\")\n",
    "\n",
    "n_sf5 = glass.n(wavelengths)\n",
    "\n",
    "plt.plot(wavelengths, n_sf5, \"C1\")\n",
    "plt.xlabel(\"Wavelength (µm)\")\n",
    "plt.ylabel(\"Refractive Index\")\n",
    "plt.title(\"Refractive Index of N-SF5 vs. Wavelength\")\n",
    "plt.grid(alpha=0.25)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Note that you may also pass a reference name to the material, which narrows down the material selection if there are multiple matches for the given material name. The reference can include e.g., the glass manufacturer, the author name, year of publication, etc."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "glass = Material(\"N-SF5\", reference=\"Schott\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Example 2: Organic material (DNA)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Refractive Index of DNA at 0.26 µm: 1.65214\n"
     ]
    }
   ],
   "source": [
    "DNA = Material(\"DNA\")\n",
    "\n",
    "wavelength = 0.26\n",
    "\n",
    "# call `.item()` to get the value as a scalar\n",
    "print(f\"Refractive Index of DNA at {wavelength} µm: {DNA.n(wavelength).item():.5f}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Example 3: Others materials (AgCl & toluene)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Refractive Index of AgCl at 0.55 µm: 2.07748\n",
      "Refractive Index of toluene at 0.55 µm: 1.50006\n"
     ]
    }
   ],
   "source": [
    "silver_chloride = Material(\"AgCl\")\n",
    "toluene = Material(\"toluene\")\n",
    "\n",
    "wavelength = 0.55\n",
    "\n",
    "print(\n",
    "    f\"Refractive Index of AgCl at {wavelength} µm: {silver_chloride.n(wavelength).item():.5f}\",\n",
    ")\n",
    "print(\n",
    "    f\"Refractive Index of toluene at {wavelength} µm: {toluene.n(wavelength).item():.5f}\"\n",
    ")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Example 4: Gases (helium)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Refractive Index of He at 0.612 µm: 1.0000349\n"
     ]
    }
   ],
   "source": [
    "he = Material(\"He\")\n",
    "\n",
    "wavelength = 0.612\n",
    "\n",
    "print(f\"Refractive Index of He at {wavelength} µm: {he.n(wavelength).item():.7f}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Conclusion:\n",
    "\n",
    "This tutorial showcased the key features of the Optiland material database. By leveraging `IdealMaterial`, `AbbeMaterial`, and `Material`, users can simulate a wide variety of optical systems with realistic material properties."
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": ".venv",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.11.1"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
